Kaydet (Commit) f745212f authored tarafından Peter Foley's avatar Peter Foley

convert lcms2 to gbuild

Change-Id: I96de6b20b2a68f0982a30d33359e9e9cda9e642c
üst 70ec826e
......@@ -105,6 +105,7 @@ jvmaccess\
jvmfwk\
l10ntools\
languagetool\
lcms2\
libcdr\
libcmis\
libmspub\
......@@ -228,7 +229,6 @@ liblangtag\
libxml2\
libxmlsec\
libxslt\
lcms2\
migrationanalysis\
moz\
mysqlc\
......
......@@ -92,6 +92,7 @@ $(eval $(call gb_Module_add_moduledirs,tail_end,\
jvmaccess \
jvmfwk \
$(call gb_Helper_optional,LANGUAGETOOL,languagetool) \
$(call gb_Helper_optional,LCMS2,lcms2) \
libcdr \
libcmis \
libmspub \
......
......@@ -840,7 +840,6 @@ gb_LinkTarget__use_graphite :=
endif # SYSTEM_GRAPHITE
ifeq ($(SYSTEM_ICU),YES)
define gb_LinkTarget__use_icudata
......@@ -872,7 +871,7 @@ else
gb_ICU_suffix:=
endif
# icudata and icui18n is called icudt and icuin when built with MSVC :-(
# icudata and icui18n is called icudt and icuin when built with MSVC :-/
ifeq ($(OS)$(COM),WNTMSC)
$(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
icudt \
......@@ -1184,7 +1183,7 @@ ifeq ($(SYSTEM_LCMS2),YES)
define gb_LinkTarget__use_lcms2
$(call gb_LinkTarget_set_include,$(1),\
$$(INCLUDE) \
$(LCMS2_CFLAGS) \
$(LCMS2_CFLAGS) \
)
$(call gb_LinkTarget_add_libs,$(1),$(LCMS2_LIBS))
......@@ -1199,8 +1198,9 @@ $(eval $(call gb_Helper_register_static_libraries,PLAINLIBS, \
))
define gb_LinkTarget__use_lcms2
$(call gb_LinkTarget_use_external_project,$(1),lcms2)
$(call gb_LinkTarget_set_include,$(1),\
-I$(OUTDIR)/inc/lcms2 \
-I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
$$(INCLUDE) \
)
$(call gb_LinkTarget_use_static_libraries,$(1),\
......@@ -1216,8 +1216,9 @@ $(eval $(call gb_Helper_register_libraries,PLAINLIBS_OOO, \
))
define gb_LinkTarget__use_lcms2
$(call gb_LinkTarget_use_external_project,$(1),lcms2)
$(call gb_LinkTarget_set_include,$(1),\
-I$(OUTDIR)/inc/lcms2 \
-I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
$$(INCLUDE) \
)
$(call gb_LinkTarget_use_libraries,$(1),\
......@@ -1226,6 +1227,11 @@ $(call gb_LinkTarget_use_libraries,$(1),\
endef
define gb_ExternalProject__use_lcms2
$(call gb_ExternalProject_use_package,$(1),lcms2)
endef
endif # ANDROID
endif # SYSTEM_LCMS2
......
......@@ -102,6 +102,7 @@ $(eval $(call gb_Module_add_moduledirs,ooo,\
jvmfwk \
$(call gb_Helper_optional,DESKTOP,l10ntools) \
$(call gb_Helper_optional,LANGUAGETOOL,languagetool) \
$(call gb_Helper_optional,LCMS2,lcms2) \
libcdr \
libcmis \
libmspub \
......
......@@ -316,7 +316,7 @@ export LANGUAGETOOL_TARBALL=@LANGUAGETOOL_TARBALL@
export L10N_MODULE=@L10N_MODULE@
export LCMS2_CFLAGS=@LCMS2_CFLAGS@
export LCMS2_LIBS=@LCMS2_LIBS@
export LCMS2_TARBALL==@LCMS2_TARBALL@
export LCMS2_TARBALL=@LCMS2_TARBALL@
ifneq ($(strip @LDFLAGS@),)
export LDFLAGS=@LDFLAGS@
endif
......
......@@ -7037,14 +7037,10 @@ else
SYSTEM_LCMS2=NO
LCMS2_TARBALL="861ef15fa0bc018f9ddc932c4ad8b6dd-lcms2-2.4.tar.gz"
BUILD_TYPE="$BUILD_TYPE LCMS2"
LCMS2_CFLAGS="-I${OUTDIR}/inc/lcms2"
if test $_os = Darwin; then
LCMS2_CFLAGS="$LCMS2_CFLAGS -Wno-long-long"
fi
LCMS2_LIBS="-L${OUTDIR}/lib -llcms2"
fi
AC_SUBST(SYSTEM_LCMS2)
AC_SUBST(LCMS2_CFLAGS)
AC_SUBST(LCMS2_TARBALL)
AC_SUBST(LCMS2_LIBS)
AC_SUBST(LCMS2_TARBALL)
AC_SUBST([MINGW_LCMS2_DLL])
......
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_ExternalPackage_ExternalPackage,lcms2,lcms2))
$(eval $(call gb_ExternalPackage_use_external_project,lcms2,lcms2))
ifeq ($(OS),MACOSX)
$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/liblcms2.2.dylib,src/.libs/liblcms2.2.dylib))
else ifeq ($(filter-out IOS ANDROID,$(OS)),)
$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/liblcms2.a,src/.libs/liblcms2.a))
else ifeq ($(OS),WNT)
ifeq ($(COM),GCC)
$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/liblcms2.dll.a,src/.libs/liblcms2.dll.a))
$(eval $(call gb_ExternalPackage_add_file,lcms2,bin/liblcms2.dll,src/.libs/liblcms2.dll))
else ifeq ($(COM),MSC)
$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/lcms2.lib,bin/lcms2.lib))
$(eval $(call gb_ExternalPackage_add_file,lcms2,bin/lcms2.dll,bin/lcms2.dll))
endif
else
$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/liblcms2.so,src/.libs/liblcms2.so))
$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/liblcms2.so.2,src/.libs/liblcms2.so.2))
$(eval $(call gb_ExternalPackage_add_file,lcms2,lib/liblcms2.so.2.0.4,src/.libs/liblcms2.so.2.0.4))
endif
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_ExternalProject_ExternalProject,lcms2))
$(eval $(call gb_ExternalProject_use_unpacked,lcms2,lcms2))
$(eval $(call gb_ExternalProject_register_targets,lcms2,\
build \
))
ifeq ($(COM),MSC)
ifeq ($(filter-out 14 13,$(COMEX)),)
$(call gb_ExternalProject_get_state_target,lcms2,build):
cd $(EXTERNAL_WORKDIR)/Projects/VC2010/lcms2_DLL \
&& MSBuild.exe lcms2_DLL.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:TargetName=lcms2 \
$(if $(filter 14,$(COMEX)),/p:PlatformToolset=v110) \
&& touch $@
else
$(call gb_ExternalProject_get_state_target,lcms2,build):
cd $(EXTERNAL_WORKDIR)/VC2008/lcms2_DLL \
&& $(COMPATH)/vcpackages/vcbuild.exe lcms2_DLL.vcproj "Release|Win32" \
&& touch $@
endif
else
$(call gb_ExternalProject_get_state_target,lcms2,build):
cd $(EXTERNAL_WORKDIR) \
&& ./configure --without-jpeg --without-tiff --with-pic \
$(if $(filter YES,$(CROSS_COMPILING)),--build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)) \
CPPFLAGS=" $(SOLARINC)" \
$(if $(filter IOS ANDROID,$(OS)),--disable-shared, --enable-shared --disable-static) \
&& cd src \
&& $(MAKE) \
&& touch $@
endif
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
module_directory:=$(dir $(realpath $(firstword $(MAKEFILE_LIST))))
include $(module_directory)/../solenv/gbuild/partial_build.mk
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_Module_Module,lcms2))
ifeq ($(SYSTEM_LCMS2),NO)
$(eval $(call gb_Module_add_targets,lcms2,\
UnpackedTarball_lcms2 \
ExternalPackage_lcms2 \
ExternalProject_lcms2 \
))
endif
# vim: set noet sw=4 ts=4:
# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
$(eval $(call gb_UnpackedTarball_UnpackedTarball,lcms2))
$(eval $(call gb_UnpackedTarball_set_tarball,lcms2,$(LCMS2_TARBALL)))
$(eval $(call gb_UnpackedTarball_set_patchlevel,lcms2,3))
$(eval $(call gb_UnpackedTarball_add_patches,lcms2,\
lcms2/lcms2.patch \
lcms2/lcms2-2.4-windows.patch \
))
# vim: set noet sw=4 ts=4:
#*************************************************************************
#
# 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=.
PRJNAME=lcms2
TARGET=so_lcms2
# --- Settings -----------------------------------------------------
.INCLUDE : settings.mk
# --- Files --------------------------------------------------------
TARFILE_NAME=lcms2-2.4
TARFILE_MD5=861ef15fa0bc018f9ddc932c4ad8b6dd
PATCH_FILES = lcms2.patch
.IF "$(SYSTEM_LCMS2)" == "YES"
@all:
@echo "Using system littlecms2..."
.ENDIF
.IF "$(GUI)$(COM)"=="WNTMSC"
PATCH_FILES += lcms2-2.4-windows.patch
CONFIGURE_DIR=.
CONFIGURE_ACTION =
.IF "$(CCNUMVER)" >= "001700000000"
BUILD_DIR=Projects/VC2010/lcms2_DLL
BUILD_ACTION=MSBuild.exe lcms2_DLL.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:TargetName=lcms2 /p:PlatformToolset=v110
.ELIF "$(CCNUMVER)" >= "001600000000"
BUILD_DIR=Projects/VC2010/lcms2_DLL
BUILD_ACTION=MSBuild.exe lcms2_DLL.vcxproj /p:Configuration=Release /p:Platform=Win32 /p:TargetName=lcms2
.ELSE
BUILD_DIR=Projects/VC2008/lcms2_DLL
BUILD_ACTION=$(COMPATH)$/vcpackages$/vcbuild.exe lcms2_DLL.vcproj "Release|Win32"
.ENDIF
.ELSE #"$(GUI)$(COM)"!="WNTMSC"
CONFIGURE_DIR=.
BUILD_DIR=src
CONFIGURE_ACTION = CPPFLAGS="$(SOLARINC)" ./configure --without-jpeg --without-tiff --with-pic --enable-shared --disable-static
.IF "$(CROSS_COMPILING)" == "YES"
CONFIGURE_ACTION += --build=$(BUILD_PLATFORM) --host=$(HOST_PLATFORM)
.ENDIF
.IF "$(OS)" == "MACOSX"
CONFIGURE_FLAGS += \
--prefix=/@.__________________________________________________$(EXTRPATH)
.END
.IF "$(OS)" == "IOS" || "$(OS)" == "ANDROID"
CONFIGURE_ACTION += --disable-shared
.ENDIF
BUILD_ACTION = $(GNUMAKE) -j$(PARALLELISM)
.ENDIF # "$(GUI)$(COM)"=="WNTMSC"
OUT2INC+=include$/lcms2*.h
.IF "$(OS)"=="MACOSX"
OUT2LIB+=src$/.libs$/liblcms2.*.dylib
.ELIF "$(OS)"=="IOS" || "$(OS)" == "ANDROID"
OUT2LIB+=src$/.libs$/liblcms2.a
.ELIF "$(OS)"=="WNT"
.IF "$(COM)"=="GCC"
OUT2LIB+=src$/.libs$/liblcms2.dll.a
OUT2BIN+=src$/.libs$/*.dll
.ELSE
OUT2LIB+=bin$/lcms2.lib
OUT2BIN+=bin$/lcms2.dll
.ENDIF
.ELSE
OUT2LIB+=src$/.libs$/liblcms2.so*
.ENDIF
# --- Targets ------------------------------------------------------
.INCLUDE : set_ext.mk
.INCLUDE : target.mk
.INCLUDE : tg_ext.mk
lcms lcms2 : soltools ZLIB:zlib NULL
lcms lcms2 usr1 - all lcms_mkout NULL
lcms lcms2 nmake - all lcms_libwpd NULL
lcms lcms2/prj nmake - all lcms_prj NULL
mkdir: %_DEST%\inc\lcms2
..\%__SRC%\inc\*.h %_DEST%\inc\lcms2\*.h
..\%__SRC%\lib\liblcms2.so.2 %_DEST%\lib\liblcms2.so.2
..\%__SRC%\lib\liblcms2.a %_DEST%\lib\liblcms2.a
symlink: %_DEST%\lib\liblcms2.so.2 %_DEST%\lib\liblcms2.so
..\%__SRC%\lib\liblcms2.2.dylib %_DEST%\lib\liblcms2.2.dylib
symlink: %_DEST%\lib\liblcms2.2.dylib %_DEST%\lib\liblcms2.dylib
..\%__SRC%\lib\liblcms2.so %_DEST%\lib\liblcms2.so
..\%__SRC%\lib\*.lib %_DEST%\lib
..\%__SRC%\lib\liblcms2.dll.a %_DEST%\lib\liblcms2.dll.a
..\%__SRC%\bin\*.dll %_DEST%\bin
......@@ -16,6 +16,7 @@ $(eval $(call gb_ExternalProject_register_targets,libcdr,\
))
$(eval $(call gb_ExternalProject_use_externals,libcdr,\
lcms2 \
wpd \
wpg \
))
......@@ -27,7 +28,7 @@ $(call gb_ExternalProject_get_state_target,libcdr,build) :
cd $(EXTERNAL_WORKDIR)/build/win32 \
&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LCMS2_INCLUDE_DIR=$(OUTDIR)/inc/lcms2 \
&& export LCMS2_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,lcms2/include) \
&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
&& $(COMPATH)/vcpackages/vcbuild.exe libcdr.vcproj "Release|Win32" \
&& touch $@
......@@ -36,7 +37,7 @@ $(call gb_ExternalProject_get_state_target,libcdr,build) :
cd $(EXTERNAL_WORKDIR)/build/win32 \
&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LCMS2_INCLUDE_DIR=$(OUTDIR)/inc/lcms2 \
&& export LCMS2_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,lcms2/include) \
&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
&& msbuild.exe libcdr.vcxproj /p:Configuration=Release \
&& touch $@
......@@ -45,7 +46,7 @@ $(call gb_ExternalProject_get_state_target,libcdr,build) :
cd $(EXTERNAL_WORKDIR)/build/win32 \
&& export LIBWPD_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LIBWPG_INCLUDE_DIR=$(OUTDIR)/inc/external \
&& export LCMS2_INCLUDE_DIR=$(OUTDIR)/inc/lcms2 \
&& export LCMS2_INCLUDE_DIR=$(call gb_UnpackedTarball_get_dir,lcms2/include) \
&& export ZLIB_INCLUDE_DIR=$(OUTDIR)/inc/external/zlib \
&& msbuild.exe libcdr.vcxproj /p:PlatformToolset=v110 /p:Configuration=Release \
&& touch $@
......@@ -60,8 +61,12 @@ $(call gb_ExternalProject_get_state_target,libcdr,build) :
WPD_LIBS=" $(WPD_LIBS)" \
WPG_CFLAGS=" $(WPG_CFLAGS)" \
WPG_LIBS=" $(WPG_LIBS)" \
LCMS2_CFLAGS=" $(LCMS2_CFLAGS)" \
LCMS2_LIBS=" $(LCMS2_LIBS)" \
$(if $(filter YES,$(SYSTEM_LCMS2)),\
LCMS2_CFLAGS="$(LCMS2_CFLAGS)" \
LCMS2_LIBS="$(LCMS2_LIBS)", \
LCMS2_CFLAGS="-I$(call gb_UnpackedTarball_get_dir,lcms2/include) \
$(if $(filter MACOSX,$(OS)),-Wno-long-long)" \
LCMS2_LIBS="-L$(OUTDIR)/lib -llcms2" ) \
ZLIB_CFLAGS=" $(ZLIB_CFLAGS)" \
ZLIB_LIBS=" $(ZLIB_LIBS)" \
./configure \
......
tb tail_build : BERKELEYDB:berkeleydb BOOST:boost CAIRO:cairo CPPUNIT:cppunit EXPAT:expat ICU:icu JPEG:jpeg LCMS2:lcms2 LIBEXTTEXTCAT:libexttextcat LIBLANGTAG:liblangtag LIBXML2:libxml2 libxmlsec LIBXSLT:libxslt MOZ:moz NSS:nss OPENSSL:openssl PYTHON:python REDLAND:redland XPDF:xpdf ZLIB:zlib external solenv soltools NULL
tb tail_build : BERKELEYDB:berkeleydb BOOST:boost CAIRO:cairo CPPUNIT:cppunit EXPAT:expat ICU:icu JPEG:jpeg LIBEXTTEXTCAT:libexttextcat LIBLANGTAG:liblangtag LIBXML2:libxml2 libxmlsec LIBXSLT:libxslt MOZ:moz NSS:nss OPENSSL:openssl PYTHON:python REDLAND:redland XPDF:xpdf ZLIB:zlib external solenv soltools NULL
tb tail_build\prj nmake - all tb_prj NULL
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment