[Libreoffice-commits] .: 8 commits - configure.in Makefile.in RepositoryFixes.mk set_soenv.in solenv/gbuild solenv/inc

Tor Lillqvist tml at kemper.freedesktop.org
Mon Jun 20 14:42:32 PDT 2011


 Makefile.in                        |    3 
 RepositoryFixes.mk                 |   29 +----
 configure.in                       |   12 +-
 set_soenv.in                       |    1 
 solenv/gbuild/TargetLocations.mk   |    2 
 solenv/gbuild/platform/winmingw.mk |  197 +++++++++++++++++--------------------
 solenv/inc/libs.mk                 |    4 
 7 files changed, 113 insertions(+), 135 deletions(-)

New commits:
commit f710105d85419ba2278912b63085372cd79ecd29
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Mon Jun 20 23:52:40 2011 +0300

    gbuild changes for MinGW cross-compilation
    
    Intermediate commit.  But now at least comphelper will build
    successfully. In the build order, comphelper is the first gbuildified
    module where C++ code is compiled and linked .

diff --git a/RepositoryFixes.mk b/RepositoryFixes.mk
index 8cdfc17..0aa4467 100644
--- a/RepositoryFixes.mk
+++ b/RepositoryFixes.mk
@@ -44,15 +44,7 @@ endif
 
 ifeq ($(OS),WNT)
 
-# USE_MINGW refers to the OOo idea of using MinGW natively on Windows,
-# which we don't want to bother with in LibreOffice, I think. If you
-# want to build natively on Windows, use MSVC.
-
-ifneq ($(USE_MINGW),)
-gb_Library_FILENAMES := $(patsubst comphelper:icomphelper%,comphelper:icomphelp%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst cppunit:icppunit%,cppunit:libcppunit.dll$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst cui:icui%,cui:icuin%,$(gb_Library_FILENAMES))
-gb_Library_FILENAMES := $(patsubst i18nisolang1:ii18nisolang1%,i18nisolang1:ii18nisolang%,$(gb_Library_FILENAMES))
+ifeq ($(COM),GCC)
 gb_Library_FILENAMES := $(patsubst sb:isb%,sb:basic%,$(gb_Library_FILENAMES))
 gb_Library_FILENAMES := $(patsubst sfx:isfx%,sfx:sfx%,$(gb_Library_FILENAMES))
 gb_Library_FILENAMES := $(patsubst svt:isvt%,svt:svtool%,$(gb_Library_FILENAMES))
@@ -62,23 +54,20 @@ gb_Library_FILENAMES := $(patsubst xml2:ixml2%,xml2:libxml2$(gb_Library_IARCEXT)
 gb_Library_FILENAMES := $(patsubst xslt:ixslt%,xslt:libxslt$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
 gb_Library_FILENAMES := $(patsubst rdf:irdf%,rdf:librdf.dll$(gb_Library_IARCEXT),$(gb_Library_FILENAMES))
 gb_Library_FILENAMES := $(patsubst z:iz%,z:zlib%,$(gb_Library_FILENAMES))
-gb_Library_NOILIBFILENAMES:=\
-    icuuc \
-    sot \
-    uwinapi \
 
-gb_Library_FILENAMES := $(filter-out $(foreach lib,$(gb_Library_NOILIBFILENAMES),$(lib):%),$(gb_Library_FILENAMES))
-gb_Library_FILENAMES += $(foreach lib,$(gb_Library_NOILIBFILENAMES),$(lib):$(lib)$(gb_Library_PLAINEXT))
+# Libraries not provided by mingw(-w64), available only in the Windows
+# SDK. So if these actually are liked with somewhere, we can't
+# cross-compile that module then using MinGW. That needs to be fixed
+# then, and we need to use these libraries through run-time lookup of
+# APIs. Or something.
 
-gb_Library_ILIBFILENAMES:=\
+gb_Library_SDKLIBFILENAMES:=\
     unicows \
-    uuid \
 
-gb_Library_DLLFILENAMES := $(filter-out $(foreach lib,$(gb_Library_ILIBFILENAMES),$(lib):%),$(gb_Library_DLLFILENAMES))
-gb_Library_DLLFILENAMES += $(foreach lib,$(gb_Library_ILIBFILENAMES),$(lib):$(WINDOWS_SDK_HOME)/lib/$(lib)$(gb_Library_ILIBEXT))
+gb_Library_DLLFILENAMES := $(filter-out $(foreach lib,$(gb_Library_SDKLIBFILENAMES),$(lib):%),$(gb_Library_DLLFILENAMES))
+gb_Library_DLLFILENAMES += $(foreach lib,$(gb_Library_SDKLIBFILENAMES),$(lib):$(WINDOWS_SDK_HOME)/lib/$(lib).lib)
 
 gb_Library_DLLFILENAMES := $(patsubst comphelper:comphelper%,comphelper:comphelp%,$(gb_Library_DLLFILENAMES))
-gb_Library_DLLFILENAMES := $(patsubst cppunit:cppunit%,cppunit:cygcppunit-1-12-1%,$(gb_Library_DLLFILENAMES))
 gb_Library_DLLFILENAMES := $(patsubst crypto:crypto%,crypto:libeay32%,$(gb_Library_DLLFILENAMES))
 gb_Library_DLLFILENAMES := $(patsubst icuuc:icuuc%,icuuc:icuuc40%,$(gb_Library_DLLFILENAMES))
 gb_Library_DLLFILENAMES := $(patsubst ssl:ssl%,ssl:ssleay32%,$(gb_Library_DLLFILENAMES))
diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk
index ae30be0..fe8cfc2 100644
--- a/solenv/gbuild/platform/winmingw.mk
+++ b/solenv/gbuild/platform/winmingw.mk
@@ -38,7 +38,6 @@ gb_MKTEMP := mktemp --tmpdir=$(gb_TMPDIR) gbuild.XXXXXX
 
 gb_CC := $(CC)
 gb_CXX := $(CXX)
-gb_LINK := $(shell $(CC) -print-prog-name=ld)
 gb_AR := $(shell $(CC) -print-prog-name=ar)
 gb_AWK := awk
 ifeq ($(USE_MINGW),cygwin)
@@ -152,13 +151,10 @@ gb_LinkTarget_NOEXCEPTIONFLAGS := \
 gb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS := $(gb_LinkTarget_NOEXCEPTIONFLAGS)
 
 gb_LinkTarget_LDFLAGS := \
-	--export-all-symbols \
-	--kill-at \
-	--subsystem console \
-	--exclude-libs ALL \
-	--enable-stdcall-fixup \
-	--enable-runtime-pseudo-reloc-v2 \
-	$(patsubst %,-L%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \
+	-Wl,--export-all-symbols \
+	-Wl,--enable-stdcall-fixup \
+	-Wl,--enable-runtime-pseudo-reloc-v2 \
+	$(subst -L../lib , ,$(SOLARLIB)) \
 
 ifeq ($(MINGW_GCCLIB_EH),YES)
 gb_LinkTarget_LDFLAGS += -shared-libgcc
@@ -178,11 +174,7 @@ gb_STDLIBS := \
 	mingw32 \
 	$(gb_MINGW_LIBGCC) \
 	uwinapi \
-	moldname \
 	mingwex \
-	kernel32 \
-	msvcrt \
-	msvcprt \
 
 
 # Helper class
@@ -239,7 +231,7 @@ endef
 ifeq ($(gb_FULLDEPS),$(true))
 define gb_CObject__command_deponcompile
 $(call gb_Helper_abbreviate_dirs_native,\
-	$(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+	$(OUTDIR_FOR_BUILD)/bin/makedepend \
 		$(filter-out -DPRECOMPILED_HEADERS,$(4)) $(5) \
 		-I$(dir $(3)) \
 		$(filter-out -I$(COMPATH)% %/pch -I$(JAVA_HOME),$(6)) \
@@ -277,7 +269,7 @@ endef
 ifeq ($(gb_FULLDEPS),$(true))
 define gb_CxxObject__command_deponcompile
 $(call gb_Helper_abbreviate_dirs_native,\
-	$(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+	$(OUTDIR_FOR_BUILD)/bin/makedepend \
 		$(filter-out -DPRECOMPILED_HEADERS,$(4)) $(5) \
 		-I$(dir $(3)) \
 		$(filter-out -I$(COMPATH)% %/pch -I$(JAVA_HOME),$(6)) \
@@ -320,7 +312,7 @@ gb_PrecompiledHeader_get_enableflags = -I$(WORKDIR)/PrecompiledHeader/$(gb_Preco
 ifeq ($(gb_FULLDEPS),$(true))
 define gb_PrecompiledHeader__command_deponcompile
 $(call gb_Helper_abbreviate_dirs_native,\
-	$(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+	$(OUTDIR_FOR_BUILD)/bin/makedepend \
 		$(4) $(5) \
 		-I$(dir $(3)) \
 		$(filter-out -I$(COMPATH)% -I$(JAVA_HOME),$(6)) \
@@ -363,7 +355,7 @@ gb_NoexPrecompiledHeader_get_enableflags = -I$(WORKDIR)/NoexPrecompiledHeader/$(
 ifeq ($(gb_FULLDEPS),$(true))
 define gb_NoexPrecompiledHeader__command_deponcompile
 $(call gb_Helper_abbreviate_dirs_native,\
-	$(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+	$(OUTDIR_FOR_BUILD)/bin/makedepend \
 		$(4) $(5) \
 		-I$(dir $(3)) \
 		$(filter-out -I$(COMPATH)% -I$(JAVA_HOME),$(6)) \
@@ -422,58 +414,45 @@ define gb_LinkTarget__command_dynamiclinkexecutable
 $(call gb_Output_announce,$(2),$(true),LNK,4)
 $(call gb_Helper_abbreviate_dirs_native,\
 	mkdir -p $(dir $(1)) && \
-	RESPONSEFILE=`$(gb_MKTEMP)` && \
-	echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
-		$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
-		$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
-	$(gb_LINK) \
+	$(gb_CXX) $(strip \
 		$(gb_Executable_TARGETTYPEFLAGS) \
 		$(LDFLAGS) \
-		$(gb_MINGWLIBDIR)/crt2.o \
-		$(MINGW_CLIB_DIR)/crtbegin.o \
-		@$${RESPONSEFILE} \
+		$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+		$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+		$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
 		$(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
-		--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) --end-group \
-		--start-group $(patsubst lib%.dll.a,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_dllname,$(lib)))) --end-group \
-		$(MINGW_CLIB_DIR)/crtend.o \
-		-Map $(basename $(1)).map \
-		-o $(1))
+		$(if $(LINKED_STATIC_LIBS),-Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group) \
+		$(patsubst lib%.dll.a,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_implibname,$(lib)))) \
+		-Wl$(COMMA)-Map$(COMMA)$(basename $(1)).map \
+		-o $(1)))
 endef
 
 define gb_LinkTarget__command_dynamiclinklibrary
 $(call gb_Helper_abbreviate_dirs_native,\
 	mkdir -p $(dir $(1)) && \
-	rm -f $(1) && \
-	RESPONSEFILE=`$(gb_MKTEMP)` && \
-	echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
-		$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
-		$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
-	$(gb_LINK) \
+	$(gb_CXX) $(strip \
 		$(gb_Library_TARGETTYPEFLAGS) \
 		$(LDFLAGS) \
-		--enable-auto-image-base \
-		-e _DllMainCRTStartup at 12 \
-		$(gb_MINGWLIBDIR)/dllcrt2.o \
-		$(MINGW_CLIB_DIR)/crtbegin.o \
-		@$${RESPONSEFILE} \
+		$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+		$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+		$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
 		$(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
-		--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) --end-group \
-		--start-group $(patsubst lib%.dll.a,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_dllname,$(lib)))) --end-group \
-		$(MINGW_CLIB_DIR)/crtend.o \
-		-Map $(basename $(DLLTARGET)).map \
-		-o $(DLLTARGET) && touch $(1))
+		$(if $(LINKED_STATIC_LIBS),-Wl$(COMMA)--start-group $(foreach lib,$(LINKED_STATIC_LIBS),$(call gb_StaticLibrary_get_target,$(lib))) -Wl$(COMMA)--end-group) \
+		$(patsubst lib%.dll.a,-l%,$(foreach lib,$(LINKED_LIBS),$(call gb_Library_get_implibname,$(lib)))) \
+		-Wl$(COMMA)-Map$(COMMA)$(basename $(DLLTARGET)).map \
+		-Wl$(COMMA)--out-implib$(COMMA)$(1) \
+		-o $(dir $(1))/$(notdir $(DLLTARGET))))
 endef
 
 define gb_LinkTarget__command_staticlinklibrary
 $(call gb_Helper_abbreviate_dirs_native,\
 	mkdir -p $(dir $(1)) && \
-	RESPONSEFILE=`$(gb_MKTEMP)` && \
-	echo "$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
+	$(gb_AR) -rsu $(1) \
+		$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) \
+		$(foreach object,$(CXXOBJECTS),$(call gb_CxxObject_get_target,$(object))) \
 		$(foreach object,$(GENCXXOBJECTS),$(call gb_GenCxxObject_get_target,$(object))) \
-		$(foreach object,$(COBJECTS),$(call gb_CObject_get_target,$(object))) " > $${RESPONSEFILE} && \
-	$(gb_AR) -rsu\
-		$(1) \
-		@$${RESPONSEFILE})
+		$(foreach extraobjectlist,$(EXTRAOBJECTLISTS),@$(extraobjectlist)) \
+		2> /dev/null)
 endef
 
 define gb_LinkTarget__command
@@ -492,26 +471,23 @@ gb_Library_get_rpath :=
 
 gb_Library_SYSPRE := lib
 gb_Library_UNOVERPRE := $(gb_Library_SYSPRE)uno_
+gb_Library_UDK_MAJORVER := 3
+
 gb_Library_PLAINEXT := .dll.a
 
-# These refer to *import* library names, I think.
+gb_Library_RTEXT := gcc3$(gb_Library_PLAINEXT)
+gb_Library_RTVEREXT := $(gb_Library_RTEXT)
+gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_PLAINEXT)
+gb_Library_UNOEXT := .uno$(gb_Library_PLAINEXT)
+gb_Library_UNOVEREXT := $(gb_Library_UDK_MAJORVER)$(gb_Library_PLAINEXT)
 
-# Except that actually I think there might be confusion here whether
-# things refers to import library or actual DLL names.  As the MinGW
-# work is highly experimental and not even in theory will produce
-# stuff that is binary compatible with MSVC-build binary extensions
-# anyway, we could just unify the names. But on the other hand until
-# complete gbuildification is achieved we want to keep the libs.mk
-# simple, i.e.  avoid lots of WNTGCC special casing in -l flags
-# there. Sigh.
+gb_Library_DLLEXT := .dll
 
-gb_Library_DLLEXT := .dll.a
-gb_Library_UDK_MAJORVER := 3
-gb_Library_RTEXT := gcc3$(gb_Library_DLLEXT)
-gb_Library_OOOEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_DLLEXT)
-gb_Library_UNOEXT := $(gb_Library_DLLEXT)
-gb_Library_UNOVEREXT := $(gb_Library_UDK_MAJORVER)$(gb_Library_DLLEXT)
-gb_Library_RTVEREXT := $(gb_Library_RTEXT)
+gb_Library_RTDLLEXT := gcc3$(gb_Library_DLLEXT)
+gb_Library_RTVERDLLEXT := $(gb_Library_RTDLLEXT)
+gb_Library_OOODLLEXT := $(gb_Library_DLLPOSTFIX)$(gb_Library_DLLEXT)
+gb_Library_UNODLLEXT := .uno$(gb_Library_DLLEXT)
+gb_Library_UNOVERDLLEXT := $(gb_Library_UDK_MAJORVER)$(gb_Library_DLLEXT)
 
 gb_Library_PLAINLIBS_NONE += \
 	mingwthrd \
@@ -526,7 +502,6 @@ gb_Library_PLAINLIBS_NONE += \
 	msvcrt \
 	msvcprt \
 	mpr \
-	moldname \
 	ole32 \
 	oleaut32 \
 	shell32 \
@@ -548,37 +523,36 @@ gb_Library_LAYER := \
 	$(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):OOO) \
 	$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):OOO) \
 
-# These refer to *import* libraries. We want the same -l switches to
-# work as on Unix, I think, so we don't bother with any RT or UNO
-# version numbers in the import libraries.
-
-# It's the names of some of the DLLs that have version numbers. But
-# whether even that makes any sense, I don't know. Anyway, those DLLs
-# are so far build in the old dmake way, so this file doesn't affect
-# them. Also, one is not supposed to install the bloody DLLs in
-# quesiton system-wide anyway on Windows, so it doesn't really matter
-# whether at some point when we do an ABI break the DLL names stay the
-# same or not.
-
 gb_Library_FILENAMES :=\
 	$(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_OOOEXT)) \
-	$(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_DLLEXT)) \
-	$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_DLLEXT)) \
-	$(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_DLLEXT)) \
+	$(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+	$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
+	$(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_PLAINEXT)) \
 	$(foreach lib,$(gb_Library_RTLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
-	$(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTVEREXT)) \
+	$(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(gb_Library_SYSPRE)$(lib)$(gb_Library_RTEXT)) \
 	$(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_UNOEXT)) \
 	$(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNOEXT)) \
-	$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_UNOEXT)) \
+	$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(gb_Library_UNOVERPRE)$(lib)$(gb_Library_PLAINEXT)) \
 
 
+gb_Library_DLLFILENAMES :=\
+	$(foreach lib,$(gb_Library_OOOLIBS),$(lib):$(lib)$(gb_Library_OOODLLEXT)) \
+	$(foreach lib,$(gb_Library_PLAINLIBS_NONE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+	$(foreach lib,$(gb_Library_PLAINLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+	$(foreach lib,$(gb_Library_PLAINLIBS_OOO),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+	$(foreach lib,$(gb_Library_RTLIBS),$(lib):$(lib)$(gb_Library_RTDLLEXT)) \
+	$(foreach lib,$(gb_Library_RTVERLIBS),$(lib):$(lib)$(gb_Library_RTDLLEXT)) \
+	$(foreach lib,$(gb_Library_UNOLIBS_URE),$(lib):$(lib)$(gb_Library_DLLEXT)) \
+	$(foreach lib,$(gb_Library_UNOLIBS_OOO),$(lib):$(lib)$(gb_Library_UNODLLEXT)) \
+	$(foreach lib,$(gb_Library_UNOVERLIBS),$(lib):$(lib)$(gb_Library_UNOVERDLLEXT)) \
+
 gb_Library_IARCSYSPRE := lib
 gb_Library_IARCEXT := .a
 
 gb_Library_ILIBEXT := .lib
 
 define gb_Library_Library_platform
-$(call gb_LinkTarget_set_dlltarget,$(2),$(3))
+$(call gb_LinkTarget_set_dlltarget,$(2),$(OUTDIR)/bin/$(notdir $(3)))
 
 $(call gb_LinkTarget_set_auxtargets,$(2),\
 	$(patsubst %.dll,%.map,$(3)) \
@@ -587,7 +561,7 @@ $(call gb_LinkTarget_set_auxtargets,$(2),\
 $(call gb_Library_get_target,$(1)) \
 $(call gb_Library_get_clean_target,$(1)) : AUXTARGETS := $(OUTDIR)/bin/$(notdir $(3))
 
-$(call gb_Deliver_add_deliverable,$(OUTDIR)/bin/$(notdir $(3)),$(3))
+$(call gb_Deliver_add_deliverable,$(OUTDIR)/bin/$(notdir $(3)),$(3),$(1))
 
 endef
 
@@ -612,6 +586,10 @@ $(call gb_LinkTarget_get_target,$(call gb_Library__get_linktargetname,$(1))) : N
 endef
 
 define gb_Library_get_dllname
+$(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_DLLFILENAMES)))
+endef
+
+define gb_Library_get_implibname
 $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_FILENAMES)))
 endef
 
@@ -666,13 +644,13 @@ gb_SrsPartMergeTarget_TRANSEXPRECOMMAND := $(gb_Helper_set_ld_path)
 
 # SrsPartTarget class
 
-gb_SrsPartTarget_RSCTARGET := $(OUTDIR)/bin/rsc.exe
-gb_SrsPartTarget_RSCCOMMAND := SOLARBINDIR=$(OUTDIR)/bin $(gb_SrsPartTarget_RSCTARGET)
+gb_SrsPartTarget_RSCTARGET := $(OUTDIR_FOR_BUILD)/bin/rsc
+gb_SrsPartTarget_RSCCOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_SrsPartTarget_RSCTARGET)
 
 ifeq ($(gb_FULLDEPS),$(true))
 define gb_SrsPartTarget__command_dep
 $(call gb_Helper_abbreviate_dirs_native,\
-	$(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+	$(OUTDIR_FOR_BUILD)/bin/makedepend \
 		$(INCLUDE) \
 		$(DEFS) \
 		$(2) \
@@ -714,7 +692,7 @@ $(eval $(call gb_Helper_make_dep_targets,\
 ifeq ($(gb_FULLDEPS),$(true))
 define gb_WinResTarget__command_dep
 $(call gb_Helper_abbreviate_dirs_native,\
-	$(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \
+	$(OUTDIR_FOR_BUILD)/bin/makedepend \
 		$(INCLUDE) \
 		$(DEFS) \
 		$(2) \
commit 7ed5ed44271d231c4e14b7f8e619c19e58e6a056
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Mon Jun 20 23:47:55 2011 +0300

    Just use the same JVMFWKLIB for MinGW as on Unix

diff --git a/solenv/inc/libs.mk b/solenv/inc/libs.mk
index f666f86..b0acd42 100644
--- a/solenv/inc/libs.mk
+++ b/solenv/inc/libs.mk
@@ -248,11 +248,7 @@ XSLTLIB=$(LIBXSLT_LIBS)
 .ELSE
 XSLTLIB=-lxslt $(LIBXML2LIB)
 .ENDIF
-.IF "$(GUI)$(COM)"=="WNTGCC"
-JVMFWKLIB = -ljvmfwk$(UDK_MAJOR)
-.ELSE			# "$(GUI)$(COM)"=="WNTGCC"
 JVMFWKLIB = -ljvmfwk
-.ENDIF			# "$(GUI)$(COM)"=="WNTGCC"
 .IF "$(SYSTEM_REDLAND)"=="YES"
 REDLANDLIB=$(REDLAND_LIBS)
 .ELSE
commit 28a8c50e0ecd674aafd5aa33d9ef1f7bd73f9f82
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Mon Jun 20 23:30:30 2011 +0300

    Disable ATL when compiling with MinGW

diff --git a/configure.in b/configure.in
index 300e762..26456a3 100755
--- a/configure.in
+++ b/configure.in
@@ -1829,15 +1829,22 @@ if test "$_os" = "WINNT"; then
    AC_SUBST(DISABLE_ACTIVEX)
 
    AC_MSG_CHECKING([whether to use ATL])
-   if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE" -o "$enable_atl" = ""; then
+   if test "$enable_atl" = "yes" -o "$enable_atl" = "TRUE"; then
       DISABLE_ATL=""
       AC_MSG_RESULT([yes])
+   elif test "$enable_atl" = ""; then
+      if test "$WITH_MINGW" = "yes"; then
+         DISABLE_ATL="TRUE"
+         AC_MSG_RESULT([no])
+      else
+         DISABLE_ATL=""
+         AC_MSG_RESULT([yes])
+      fi
    else
       DISABLE_ATL="TRUE"
       AC_MSG_RESULT([no])
    fi
    AC_SUBST(DISABLE_ATL)
-
 fi
 
 dnl Set the ENABLE_WERROR variable. (Activate --enable-werror)
diff --git a/set_soenv.in b/set_soenv.in
index 881d14f..2c7dc3c 100755
--- a/set_soenv.in
+++ b/set_soenv.in
@@ -1680,6 +1680,7 @@ if ( $platform =~ m/cygwin/ )
 }
 elsif ( $platform =~ m/mingw32/ )
 {  ToFile( "NSIS_PATH",         $NSIS_PATH,         "e" );
+   ToFile( "DISABLE_ATL",       "@DISABLE_ATL@",    "e" );
 }
 
 if ("@WITH_VC_REDIST@" eq "TRUE") {
commit 04d2f545907312ed567e09d6de4cb35b44e64bb5
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Mon Jun 20 21:35:32 2011 +0300

    Make the make of gbuild modules in cross-build-toolset silent

diff --git a/Makefile.in b/Makefile.in
index 6741980..24e3a9d 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -79,7 +79,7 @@ cross-build-toolset:
 	  setup_native \
 	  icc; do \
 	    if grep -q gb_Module_add_targets $$D/Module_$$D.mk 2>/dev/null; then \
-	      (cd $$D && make -r -j at BUILD_MAX_JOBS@) \
+	      (cd $$D && make -sr -j at BUILD_MAX_JOBS@) \
 	    else \
 	      (cd $$D && build.pl $(GBUILD_OPT) -P at BUILD_NCPUS@ -- -P at BUILD_MAX_JOBS@ && deliver.pl) \
 	    fi; \
commit 3564475e350b4eeb2dfc814e622580be28219e73
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Mon Jun 20 21:34:47 2011 +0300

    Don't use gb_Executable_EXT in gb_Executable_get_target_for_build

diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk
index ff208f3..44f0bce 100755
--- a/solenv/gbuild/TargetLocations.mk
+++ b/solenv/gbuild/TargetLocations.mk
@@ -29,7 +29,7 @@
 
 gb_ComponentTarget_get_outdir_target = $(OUTDIR)/xml/component/$(1).component
 gb_Executable_get_target = $(OUTDIR)/bin/$(1)$(gb_Executable_EXT)
-gb_Executable_get_target_for_build = $(OUTDIR_FOR_BUILD)/bin/$(1)$(gb_Executable_EXT)
+gb_Executable_get_target_for_build = $(OUTDIR_FOR_BUILD)/bin/$(1)
 gb_PackagePart_get_destinations = \
 	$(OUTDIR)/xml \
 	$(OUTDIR)/pck \
commit f5576996a36e33057f5f53287e31de2e5538c029
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Sun Jun 19 01:38:46 2011 +0300

    More MinGW work, set LD/DYLD_LIBRARY_PATH when running build tools

diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk
index 92998fd..ae30be0 100644
--- a/solenv/gbuild/platform/winmingw.mk
+++ b/solenv/gbuild/platform/winmingw.mk
@@ -158,7 +158,6 @@ gb_LinkTarget_LDFLAGS := \
 	--exclude-libs ALL \
 	--enable-stdcall-fixup \
 	--enable-runtime-pseudo-reloc-v2 \
-	-L$(gb_Library_DLLDIR) \
 	$(patsubst %,-L%,$(filter-out .,$(subst ;, ,$(subst \,/,$(ILIB))))) \
 
 ifeq ($(MINGW_GCCLIB_EH),YES)
@@ -206,6 +205,14 @@ $(subst $(REPODIR)/,$$R/,$(subst $(SRCDIR)/,$$S/,$(subst $(OUTDIR)/,$$O/,$(subst
 endef
 
 # convert parameters filesystem root to native notation
+ifeq ($(OS_FOR_BUILD),WNT)
+gb_Helper_set_ld_path := PATH=$(OUTDIR_FOR_BUILD)/bin:$$PATH
+else ifeq ($(OS_FOR_BUILD),MACOSX)
+gb_Helper_set_ld_path := DYLD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib
+else
+gb_Helper_set_ld_path := LD_LIBRARY_PATH=$(OUTDIR_FOR_BUILD)/lib
+endif
+
 # does some real work only on windows, make sure not to
 # break the dummy implementations on unx*
 define gb_Helper_convert_native
@@ -634,7 +641,7 @@ gb_Executable_Executable_platform =
 
 # CppunitTest class
 
-gb_CppunitTest_CPPTESTPRECOMMAND :=
+gb_CppunitTest_CPPTESTPRECOMMAND := $(gb_Helper_set_ld_path)
 gb_CppunitTest_SYSPRE := itest_
 gb_CppunitTest_EXT := .lib
 gb_CppunitTest_get_filename = $(gb_CppunitTest_SYSPRE)$(1)$(gb_CppunitTest_EXT)
@@ -651,11 +658,11 @@ endef
 
 # SdiTarget class
 
-gb_SdiTarget_SVIDLPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+gb_SdiTarget_SVIDLPRECOMMAND := $(gb_Helper_set_ld_path)
 
 # SrsPartMergeTarget
 
-gb_SrsPartMergeTarget_TRANSEXPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+gb_SrsPartMergeTarget_TRANSEXPRECOMMAND := $(gb_Helper_set_ld_path)
 
 # SrsPartTarget class
 
@@ -726,22 +733,22 @@ endif
 
 # ComponentTarget
 
-gb_XSLTPROCPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin"
+gb_XSLTPROCPRECOMMAND := $(gb_Helper_set_ld_path)
 gb_Library_COMPONENTPREFIXES := \
 	OOO:vnd.sun.star.expand:\dBRAND_BASE_DIR/program/ \
 	URELIB:vnd.sun.star.expand:\dURE_INTERNAL_LIB_DIR/ \
 
 # UnoApiTarget
 
-gb_UnoApiTarget_IDLCTARGET := $(OUTDIR_FOR_BUILD)/bin/idlc.exe
-gb_UnoApiTarget_IDLCCOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_IDLCTARGET)
-gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR_FOR_BUILD)/bin/regmerge.exe
-gb_UnoApiTarget_REGMERGECOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGMERGETARGET)
-gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR_FOR_BUILD)/bin/regcompare.exe
-gb_UnoApiTarget_REGCOMPARECOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGCOMPARETARGET)
-gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR_FOR_BUILD)/bin/cppumaker.exe
-gb_UnoApiTarget_CPPUMAKERCOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET)
-gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR_FOR_BUILD)/bin/regview.exe
-gb_UnoApiTarget_REGVIEWCOMMAND := SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGVIEWTARGET)
+gb_UnoApiTarget_IDLCTARGET := $(OUTDIR_FOR_BUILD)/bin/idlc
+gb_UnoApiTarget_IDLCCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_IDLCTARGET)
+gb_UnoApiTarget_REGMERGETARGET := $(OUTDIR_FOR_BUILD)/bin/regmerge
+gb_UnoApiTarget_REGMERGECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGMERGETARGET)
+gb_UnoApiTarget_REGCOMPARETARGET := $(OUTDIR_FOR_BUILD)/bin/regcompare
+gb_UnoApiTarget_REGCOMPARECOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGCOMPARETARGET)
+gb_UnoApiTarget_CPPUMAKERTARGET := $(OUTDIR_FOR_BUILD)/bin/cppumaker
+gb_UnoApiTarget_CPPUMAKERCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_CPPUMAKERTARGET)
+gb_UnoApiTarget_REGVIEWTARGET := $(OUTDIR_FOR_BUILD)/bin/regview
+gb_UnoApiTarget_REGVIEWCOMMAND := $(gb_Helper_set_ld_path) SOLARBINDIR=$(OUTDIR_FOR_BUILD)/bin $(gb_UnoApiTarget_REGVIEWTARGET)
 
 # vim: set noet sw=4:
commit 8b9d5d283e616b519a6754447bf1e33c4bd1f260
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Sun Jun 19 00:39:32 2011 +0300

    Drop offuh from cross-build-toolset

diff --git a/Makefile.in b/Makefile.in
index 3a038b3..6741980 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -49,7 +49,6 @@ cross-build-toolset:
 	  offapi \
 	  oovbaapi \
 	  codemaker \
-	  offuh \
 	  cppu \
 	  cppuhelper \
 	  rdbmaker \
commit 4c3d1be2105b28030e424924c0887f1c634958a2
Author: Tor Lillqvist <tlillqvist at novell.com>
Date:   Sun Jun 19 00:00:48 2011 +0300

    Pass --disable-zenity to the inner configure run for the BUILD platform

diff --git a/configure.in b/configure.in
index d44680d..300e762 100755
--- a/configure.in
+++ b/configure.in
@@ -1708,6 +1708,7 @@ if test "$cross_compiling" = "yes"; then
     ./configure \
 	--disable-mozilla \
 	--disable-build-mozilla \
+	--disable-zenity \
         $sub_conf_opts \
 	2>&1 | sed -e 's/^/    /'
     test -f ./*Env.Set.sh 2>/dev/null || exit


More information about the Libreoffice-commits mailing list