[Libreoffice] [PATCH v3] convert Mesa to gbuild and add to tail_build

Peter Foley pefoley2 at verizon.net
Sat Sep 10 16:10:20 PDT 2011


I've attached a updated patch to convert Mesa to gbuild.

Peter
-------------- next part --------------
From 0735fe17137bcb1d5528ad11b9987d46a21db0ee Mon Sep 17 00:00:00 2001
From: Peter Foley <pefoley2 at verizon.net>
Date: Fri, 9 Sep 2011 17:42:24 -0400
Subject: [PATCH] convert Mesa to gbuild and add to tail_build

---
 Mesa/Makefile                 |   38 ++++++++++++++++++++++++++++++++++++++
 Mesa/Module_Mesa.mk           |   35 +++++++++++++++++++++++++++++++++++
 Mesa/Package_inc.mk           |   40 ++++++++++++++++++++++++++++++++++++++++
 Mesa/prj/build.lst            |    5 ++---
 Mesa/prj/d.lst                |    3 ---
 Mesa/prj/makefile.mk          |   40 ++++++++++++++++++++++++++++++++++++++++
 Module_tail_build.mk          |    1 +
 RepositoryExternal.mk         |   12 ++++++++++++
 RepositoryModule_ooo.mk       |    1 +
 slideshow/Library_OGLTrans.mk |    2 ++
 solenv/gbuild/LinkTarget.mk   |   11 +++++++----
 tail_build/prj/build.lst      |    2 +-
 12 files changed, 179 insertions(+), 11 deletions(-)
 create mode 100644 Mesa/Makefile
 create mode 100644 Mesa/Module_Mesa.mk
 create mode 100644 Mesa/Package_inc.mk
 create mode 100644 Mesa/prj/makefile.mk

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..fc70e59
--- /dev/null
+++ b/Mesa/Module_Mesa.mk
@@ -0,0 +1,35 @@
+#
+#  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 at 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_Module_Module,Mesa))
+
+ifeq ($(SYSTEM_MESA_HEADERS),NO)
+
+$(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 at 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..b5b8387 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 : 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/Module_tail_build.mk b/Module_tail_build.mk
index e5c010b..6cf8ebe 100644
--- a/Module_tail_build.mk
+++ b/Module_tail_build.mk
@@ -35,6 +35,7 @@ $(eval $(call gb_Module_add_moduledirs,tail_end,\
     formula \
     hwpfilter \
     lotuswordpro \
+    Mesa \
     oox \
     padmin \
     reportdesign \
diff --git a/RepositoryExternal.mk b/RepositoryExternal.mk
index 03ad711..d69b677 100644
--- a/RepositoryExternal.mk
+++ b/RepositoryExternal.mk
@@ -36,6 +36,18 @@
 # 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_Mesa:=
+
+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/RepositoryModule_ooo.mk b/RepositoryModule_ooo.mk
index ad5cbdd..2d53175 100644
--- a/RepositoryModule_ooo.mk
+++ b/RepositoryModule_ooo.mk
@@ -53,6 +53,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
     idl \
     linguistic \
     lotuswordpro \
+    Mesa \
     o3tl \
     offapi \
     oovbaapi \
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 ba403ea..c74bed8 100644
--- a/solenv/gbuild/LinkTarget.mk
+++ b/solenv/gbuild/LinkTarget.mk
@@ -1066,13 +1066,16 @@ 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
-$(if $(value gb_LinkTarget__use_$(2)),\
-  $(call gb_LinkTarget__use_$(2),$(1)),\
-  $(error gb_LinkTarget_use_external: unknown external: $(2)))
-
+$(if $(filter undefined,$(origin gb_LinkTarget__use_$(2))),\
+  $(error gb_LinkTarget_use_external: unknown external: $(2)),\
+  $(call gb_LinkTarget__use_$(2),$(1)))
 endef
 
 # $(call gb_LinkTarget_use_externals,library,externals)
diff --git a/tail_build/prj/build.lst b/tail_build/prj/build.lst
index c9e74d1..93f3ce1 100644
--- a/tail_build/prj/build.lst
+++ b/tail_build/prj/build.lst
@@ -1,2 +1,2 @@
-tb      tail_build : BOOST:boost LIBXML2:libxml2 LIBXSLT:libxslt LIBWPG:libwpg LIBWPS:libwps LIBWPD:libwpd LIBVISIO:libvisio LPSOLVE:lpsolve MDDS:mdds MESA:Mesa OPENSSL:openssl REDLAND:redland TRANSLATIONS:translations avmedia basegfx canvas comphelper connectivity cppcanvas cppu cppuhelper filter offapi oovbaapi package qadevOOo DESKTOP:rdbmaker sal sax sfx2 soltools sot stoc svtools svx test toolkit tools ucbhelper unotools ure vbahelper vcl xmloff xmlscript  NULL
+tb      tail_build : BOOST:boost LIBXML2:libxml2 LIBXSLT:libxslt LIBWPG:libwpg LIBWPS:libwps LIBWPD:libwpd LIBVISIO:libvisio LPSOLVE:lpsolve MDDS:mdds OPENSSL:openssl REDLAND:redland TRANSLATIONS:translations avmedia basegfx canvas comphelper connectivity cppcanvas cppu cppuhelper filter offapi oovbaapi package qadevOOo DESKTOP:rdbmaker sal sax sfx2 soltools sot stoc svtools svx test toolkit tools ucbhelper unotools ure vbahelper vcl xmloff xmlscript solenv NULL
 tb tail_build\prj nmake - all tb_prj   NULL
-- 
1.7.6.1



More information about the LibreOffice mailing list