[Libreoffice] [PATCH v2] convert Mesa to gbuild and add to tail_build
Peter Foley
pefoley2 at verizon.net
Fri Sep 9 08:09:16 PDT 2011
I've attached an updated patch to convert Mesa to gbuild and add it to
tail_build. I've tested it with SYSTEM_MESA_HEADERS YES and NO.
Peter
-------------- next part --------------
From af6ae8a30ebea0f86ec2cb33bb94500cfbd3e027 Mon Sep 17 00:00:00 2001
From: Peter Foley <pefoley2 at verizon.net>
Date: Thu, 8 Sep 2011 20:48:59 -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 | 13 +++++++++++++
RepositoryModule_ooo.mk | 1 +
slideshow/Library_OGLTrans.mk | 4 ++++
solenv/gbuild/LinkTarget.mk | 4 ++++
tail_build/prj/build.lst | 2 +-
12 files changed, 179 insertions(+), 7 deletions(-)
create mode 100644 Mesa/Makefile
create mode 100644 Mesa/Module_Mesa.mk
create mode 100644 Mesa/Package_inc.mk
delete mode 100644 Mesa/prj/d.lst
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
deleted file mode 100644
index 9690bd4..0000000
--- a/Mesa/prj/d.lst
+++ /dev/null
@@ -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..68e3022 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_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..9e31c16 100644
--- a/slideshow/Library_OGLTrans.mk
+++ b/slideshow/Library_OGLTrans.mk
@@ -63,6 +63,10 @@ $(eval $(call gb_Library_add_linked_libs,OGLTrans,\
$(gb_STDLIBS) \
))
+ifeq ($(SYSTEM_MESA_HEADERS),NO)
+$(eval $(call gb_Library_use_external,OGLTrans,Mesa))
+endif
+
$(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..3e44c19 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
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