diff --git a/Mesa/Makefile b/Mesa/Makefile
new file mode 100644
index 0000000..90947b2
--- /dev/null
+++ b/Mesa/Makefile
@@ -0,0 +1,38 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2011 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+ifeq ($(strip $(SOLARENV)),)
+$(error No environment set!)
+endif
+
+gb_PARTIALBUILD := T
+GBUILDDIR := $(SOLARENV)/gbuild
+include $(GBUILDDIR)/gbuild.mk
+
+$(eval $(call gb_Module_make_global_targets,$(shell ls $(dir $(realpath $(firstword $(MAKEFILE_LIST))))/Module*.mk)))
+
+# vim: set noet sw=4 ts=4:
diff --git a/Mesa/Module_Mesa.mk b/Mesa/Module_Mesa.mk
new file mode 100644
index 0000000..a7beb2b
--- /dev/null
+++ b/Mesa/Module_Mesa.mk
@@ -0,0 +1,39 @@
+#
+#  Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License or as specified alternatively below. You may obtain a copy of
+#  the License at http://www.mozilla.org/MPL/
+#
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+#
+#  Major Contributor(s):
+#  Copyright (C) 2011 Peter Foley <pefoley2@verizon.net> (initial developer)
+#
+#  All Rights Reserved.
+#
+#  For minor contributions see the git repository.
+#
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+#  the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+#  in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+#  instead of those above.
+
+
+ifeq ($(SYSTEM_MESA_HEADERS),YES)
+
+# Nothing to do
+
+else
+$(eval $(call gb_Module_Module,Mesa))
+
+$(eval $(call gb_Module_add_targets,Mesa,Package_inc))
+
+endif
+
+# vim: set noet sw=4:
diff --git a/Mesa/Package_inc.mk b/Mesa/Package_inc.mk
new file mode 100644
index 0000000..e9e215b
--- /dev/null
+++ b/Mesa/Package_inc.mk
@@ -0,0 +1,40 @@
+#
+# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+#
+#  The contents of this file are subject to the Mozilla Public License Version
+#  1.1 (the "License"); you may not use this file except in compliance with
+#  the License or as specified alternatively below. You may obtain a copy of
+#  the License at http://www.mozilla.org/MPL/
+#
+#  Software distributed under the License is distributed on an "AS IS" basis,
+#  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+#  for the specific language governing rights and limitations under the
+#  License.
+#
+#  Major Contributor(s):
+#  Copyright (C) 2011 Peter Foley <pefoley2@verizon.net> (initial developer)
+#
+#  All Rights Reserved.
+#
+#  For minor contributions see the git repository.
+#
+#  Alternatively, the contents of this file may be used under the terms of
+#  either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+#  the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+#  in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+#  instead of those above.
+
+$(eval $(call gb_Package_Package,Mesa_inc,$(SRCDIR)/Mesa/inc))
+
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/glext.h,glext.h))
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/gl.h,gl.h))
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/gl_mangle.h,gl_mangle.h))
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/glu.h,glu.h))
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/glu_mangle.h,glu_mangle.h))
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/glxext.h,glxext.h))
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/glx.h,glx.h))
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/glx_mangle.h,glx_mangle.h))
+$(eval $(call gb_Package_add_file,Mesa_inc,inc/GL/vms_x_fix.h,vms_x_fix.h))
+
+
+# vim: set noet sw=4:
diff --git a/Mesa/prj/build.lst b/Mesa/prj/build.lst
index 8910be4..a8b0026 100644
--- a/Mesa/prj/build.lst
+++ b/Mesa/prj/build.lst
@@ -1,3 +1,2 @@
 me  Mesa : solenv NULL
-me  Mesa                         usr1    -   u    me_mkout NULL
-me	Mesa\prj                     get     -   all  me_prj NULL
+me  Mesa\prj	nmake	-	all	me_prj NULL
diff --git a/Mesa/prj/d.lst b/Mesa/prj/d.lst
index 9690bd4..e69de29 100644
--- a/Mesa/prj/d.lst
+++ b/Mesa/prj/d.lst
@@ -1,3 +0,0 @@
-mkdir: %_DEST%\inc\GL
-
-..\inc\*.h %_DEST%\inc\GL\*.h
diff --git a/Mesa/prj/makefile.mk b/Mesa/prj/makefile.mk
new file mode 100644
index 0000000..d4cf94e
--- /dev/null
+++ b/Mesa/prj/makefile.mk
@@ -0,0 +1,40 @@
+#*************************************************************************
+#
+# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+# 
+# Copyright 2000, 2010 Oracle and/or its affiliates.
+#
+# OpenOffice.org - a multi-platform office productivity suite
+#
+# This file is part of OpenOffice.org.
+#
+# OpenOffice.org is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License version 3
+# only, as published by the Free Software Foundation.
+#
+# OpenOffice.org is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU Lesser General Public License version 3 for more details
+# (a copy is included in the LICENSE file that accompanied this code).
+#
+# You should have received a copy of the GNU Lesser General Public License
+# version 3 along with OpenOffice.org.  If not, see
+# <http://www.openoffice.org/license.html>
+# for a copy of the LGPLv3 License.
+#
+#*************************************************************************
+
+PRJ=..
+TARGET=prj
+
+.INCLUDE : settings.mk
+
+.IF "$(VERBOSE)"!=""
+VERBOSEFLAG :=
+.ELSE
+VERBOSEFLAG := -s
+.ENDIF
+
+all:
+	cd $(PRJ) && $(GNUMAKE) $(VERBOSEFLAG) -r -j$(GMAKE_MODULE_PARALLELISM) $(gb_MAKETARGET) && $(GNUMAKE) $(VERBOSEFLAG) -r deliverlog
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 03ad711..710ad63 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -36,6 +36,19 @@
 # in the system case, no libraries should be registered, but the target-local
 # variable LIBS should be set to FOO_LIBS, and INCLUDES to FOO_CFLAGS.
 
+ifeq ($(SYSTEM_MESA_HEADERS),YES)
+
+gb_LinkTarget__use_cppunit:=
+
+else
+
+define gb_LinkTarget__use_Mesa
+$(eval $(call gb_LinkTarget_add_external_headers,$(1),Mesa_inc))
+
+endef
+
+endif
+
 ifeq ($(SYSTEM_CPPUNIT),YES)
 
 define gb_LinkTarget__use_cppunit
diff --git a/slideshow/Library_OGLTrans.mk b/slideshow/Library_OGLTrans.mk
index f3dd316..15db2b9 100644
--- a/slideshow/Library_OGLTrans.mk
+++ b/slideshow/Library_OGLTrans.mk
@@ -63,6 +63,8 @@ $(eval $(call gb_Library_add_linked_libs,OGLTrans,\
     $(gb_STDLIBS) \
 ))
 
+$(eval $(call gb_Library_use_external,OGLTrans,Mesa))
+
 $(eval $(call gb_Library_set_componentfile,OGLTrans,slideshow/source/engine/OGLTrans/ogltrans))
 
 ifeq ($(strip $(OS)),MACOSX)
diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk
index a3ff269..7ce9e04 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -1066,6 +1066,10 @@ endif
 
 endef
 
+define gb_LinkTarget_add_external_headers
+$(call gb_LinkTarget_get_headers_target,$(1) : |$(call gb_Package_get_target,$(2)))
+endef
+
 # this forwards to functions that must be defined in RepositoryExternal.mk.
 # $(eval $(call gb_LinkTarget_use_external,library,external))
 define gb_LinkTarget_use_external
