diff options
author | Ivo Hinkelmann <ihi@openoffice.org> | 2011-03-29 16:29:12 +0200 |
---|---|---|
committer | Ivo Hinkelmann <ihi@openoffice.org> | 2011-03-29 16:29:12 +0200 |
commit | 2c421503b9540e4d50ae3ad848e9ba104c3cb376 (patch) | |
tree | f9ade4e356396be950b0aa03740964fc44d3617e /solenv | |
parent | 0753870ef92abba2c996d2825e73ce6e349bd1bd (diff) | |
parent | c121bdfc1f11f41a76c1d04fa28075b2315633e4 (diff) |
CWS-TOOLING: integrate CWS vcl2gnumake
Diffstat (limited to 'solenv')
-rw-r--r-- | solenv/config/sdev300.ini | 18 | ||||
-rw-r--r-- | solenv/gbuild/Library.mk | 1 | ||||
-rw-r--r-- | solenv/gbuild/LinkTarget.mk | 1 | ||||
-rwxr-xr-x[-rw-r--r--] | solenv/gbuild/TargetLocations.mk | 2 | ||||
-rw-r--r-- | solenv/gbuild/WinResTarget.mk | 70 | ||||
-rw-r--r-- | solenv/gbuild/gbuild.mk | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | solenv/gbuild/platform/linux.mk | 4 | ||||
-rw-r--r-- | solenv/gbuild/platform/macosx.mk | 2 | ||||
-rw-r--r--[-rwxr-xr-x] | solenv/gbuild/platform/solaris.mk | 4 | ||||
-rw-r--r-- | solenv/gbuild/platform/windows.mk | 82 | ||||
-rw-r--r-- | solenv/gbuild/platform/winmingw.mk | 69 |
11 files changed, 245 insertions, 9 deletions
diff --git a/solenv/config/sdev300.ini b/solenv/config/sdev300.ini index befa1c6c891f..fbef30a0f604 100644 --- a/solenv/config/sdev300.ini +++ b/solenv/config/sdev300.ini @@ -643,6 +643,7 @@ unxlngi6 SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP% SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT% PKG_CONFIG_LIBDIR %SOLAR_SYSBASE_ROOT%/usr/lib/pkgconfig + KDE_ROOT /so/env/kde/linux/kde-3.2.2 } common2 { @@ -666,7 +667,6 @@ unxlngi6 JDK13PATH %SOLAR_JDK13PATH% JDK14PATH %SOLAR_JDK14PATH% JDK15PATH %SOLAR_JDK15PATH% - KDE_ROOT /so/env/kde/linux/kde-3.2.2 LIBMYSQL_PATH %SOLARROOT%/mysql-connector-c-6.0.2/unxlngi6 NO_BSYMBOLIC True OJDK16PATH %SOLAR_OJDK16PATH% @@ -678,6 +678,10 @@ unxlngi6 SYSBASE %SOLAR_SYSBASE_ROOT% TEMP /tmp TMP /tmp + GTK_CFLAGS -I%SOLAR_SYSBASE_ROOT%/usr/include/gtk-2.0 -I%SOLAR_SYSBASE_ROOT%/usr/lib/gtk-2.0/include -I%SOLAR_SYSBASE_ROOT%/usr/include/atk-1.0 -I%SOLAR_SYSBASE_ROOT%/usr/include/cairo -I%SOLAR_SYSBASE_ROOT%/usr/include/pango-1.0 -I%SOLAR_SYSBASE_ROOT%/usr/include/glib-2.0 -I%SOLAR_SYSBASE_ROOT%/usr/lib/glib-2.0/include + GTK_LIBS -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 + KDE_CFLAGS -I%KDE_ROOT%/include -DQT_CLEAN_NAMESPACE + KDE_LIBS -L%KDE_ROOT%/lib -lkdeui -lkdecore -lqt-mt } common3:0 IF X%UPDATER%X == XX { @@ -926,6 +930,7 @@ unxlngx6 USE_SYSTEM_STL YES XAU_LIBS -lXau PKG_CONFIG_LIBDIR %SOLAR_SYSBASE_ROOT%/usr/lib/pkgconfig + KDE_ROOT /so/env/kde/linux-x64/kde-3.5.10 } common2 { @@ -949,7 +954,6 @@ unxlngx6 INPATH unxlngx6%PROEXT% JDK14PATH %SOLAR_JDK14PATH% JDK15PATH %SOLAR_JDK15PATH% - KDE_ROOT /so/env/kde/linux-x64/kde-3.5.10 LIBMYSQL_PATH %SOLARROOT%/mysql-connector-c-6.0.2/unxlngx6 NO_BSYMBOLIC True OJDK16PATH %SOLAR_OJDK16PATH% @@ -963,6 +967,10 @@ unxlngx6 SYSBASE %SOLAR_SYSBASE_ROOT% TEMP /tmp TMP /tmp + GTK_CFLAGS -I%SOLAR_SYSBASE_ROOT%/usr/include/gtk-2.0 -I%SOLAR_SYSBASE_ROOT%/usr/lib/gtk-2.0/include -I%SOLAR_SYSBASE_ROOT%/usr/include/atk-1.0 -I%SOLAR_SYSBASE_ROOT%/usr/include/cairo -I%SOLAR_SYSBASE_ROOT%/usr/include/pango-1.0 -I%SOLAR_SYSBASE_ROOT%/usr/include/glib-2.0 -I%SOLAR_SYSBASE_ROOT%/usr/lib/glib-2.0/include + GTK_LIBS -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 + KDE_CFLAGS -I%KDE_ROOT%/include -DQT_CLEAN_NAMESPACE + KDE_LIBS -L%KDE_ROOT%/lib -lkdeui -lkdecore -lqt-mt } common3:0 IF X%UPDATER%X == XX { @@ -1480,6 +1488,7 @@ unxsoli4 SOLAR_OJDK16PATH %SOLAR_ENV_ROOT%/openjdk-6-b08-solaris-i586 SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP% SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT% + SOLAR_GTK_ROOT /so/env/gnome/solaris_intel/cinnabar_b15 } common2 { @@ -1509,6 +1518,8 @@ unxsoli4 SYSBASE %SOLAR_SYSBASE_ROOT% TEMP /var/tmp TMP /var/tmp + GTK_CFLAGS -I%SOLAR_GTK_ROOT%/usr/include/gtk-2.0 -I%SOLAR_GTK_ROOT%/usr/lib/gtk-2.0/include -I%SOLAR_GTK_ROOT%/usr/include/atk-1.0 -I%SOLAR_GTK_ROOT%/usr/include/pango-1.0 -I/usr/openwin/include -I%SOLAR_GTK_ROOT%/usr/sfw/include -I%SOLAR_GTK_ROOT%/usr/sfw/include/freetype2 -I%SOLAR_GTK_ROOT%/usr/include/glib-2.0 -I%SOLAR_GTK_ROOT%/usr/lib/glib-2.0/include + GTK_LIBS -L%SOLAR_GTK_ROOT%/usr/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 } compath { @@ -1745,6 +1756,7 @@ unxsols4 SOLAR_OJDK16PATH %SOLAR_ENV_ROOT%/openjdk-6-b08-solaris-sparc SO_PACK %SOLAR_ENV_ROOT%/pack/%WORK_STAMP% SRC_ROOT %SOLAR_SOURCE_ROOT%/%WORK_STAMP%/ooo%UPDMINOREXT% + SOLAR_GTK_ROOT /so/env/gnome/solaris_sparc/cinnabar_b15 } common2 { @@ -1775,6 +1787,8 @@ unxsols4 SYSBASE %SOLAR_SYSBASE_ROOT% TEMP /var/tmp TMP /var/tmp + GTK_CFLAGS -I%SOLAR_GTK_ROOT%/usr/include/gtk-2.0 -I%SOLAR_GTK_ROOT%/usr/lib/gtk-2.0/include -I%SOLAR_GTK_ROOT%/usr/include/atk-1.0 -I%SOLAR_GTK_ROOT%/usr/include/pango-1.0 -I/usr/openwin/include -I%SOLAR_GTK_ROOT%/usr/sfw/include -I%SOLAR_GTK_ROOT%/usr/sfw/include/freetype2 -I%SOLAR_GTK_ROOT%/usr/include/glib-2.0 -I%SOLAR_GTK_ROOT%/usr/lib/glib-2.0/include + GTK_LIBS -L%SOLAR_GTK_ROOT%/usr/lib -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lglib-2.0 } common:3 IF %UPDATER% == YES { diff --git a/solenv/gbuild/Library.mk b/solenv/gbuild/Library.mk index d697b1a777ca..0ce56ce41ea2 100644 --- a/solenv/gbuild/Library.mk +++ b/solenv/gbuild/Library.mk @@ -61,6 +61,7 @@ $$(eval $$(call gb_Output_error,Library $(1) must be registered in Repository.mk endif $(call gb_Library_get_target,$(1)) : AUXTARGETS := $(call gb_Library__Library_impl,$(1),$(call gb_Library__get_linktargetname,$(1))) +$(call gb_Library_add_default_nativeres,$(1),default) endef diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 8c55367fac84..cdde6ab3dbaf 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -362,6 +362,7 @@ $(call gb_LinkTarget_get_target,$(1)) : PCH_NAME := $(call gb_LinkTarget_get_target,$(1)) : PCHOBJS := $(call gb_LinkTarget_get_headers_target,$(1)) \ $(call gb_LinkTarget_get_target,$(1)) : PDBFILE := +$(call gb_LinkTarget_get_target,$(1)) : NATIVERES := ifeq ($(gb_FULLDEPS),$(true)) ifneq ($(wildcard $(call gb_LinkTarget_get_dep_target,$(1))),) diff --git a/solenv/gbuild/TargetLocations.mk b/solenv/gbuild/TargetLocations.mk index aba209c29136..60e53ec10e15 100644..100755 --- a/solenv/gbuild/TargetLocations.mk +++ b/solenv/gbuild/TargetLocations.mk @@ -81,6 +81,7 @@ gb_SdiTarget_get_target = $(WORKDIR)/SdiTarget/$(1) gb_SrsPartMergeTarget_get_target = $(WORKDIR)/SrsPartMergeTarget/$(1) gb_SrsPartTarget_get_target = $(WORKDIR)/SrsPartTarget/$(1) gb_SrsTarget_get_target = $(WORKDIR)/SrsTarget/$(1).srs +gb_WinResTarget_get_target = $(WORKDIR)/WinResTarget/$(1)$(gb_WinResTarget_POSTFIX) define gb_Library_get_external_headers_target $(patsubst $(1):%,$(WORKDIR)/ExternalHeaders/Library/%,$(filter $(1):%,$(gb_Library_FILENAMES))) @@ -105,6 +106,7 @@ $(eval $(call gb_Helper_make_clean_targets,\ JunitTest \ LinkTarget \ Module \ + WinResTarget \ NoexPrecompiledHeader \ PackagePart \ PrecompiledHeader \ diff --git a/solenv/gbuild/WinResTarget.mk b/solenv/gbuild/WinResTarget.mk new file mode 100644 index 000000000000..17c7500769f9 --- /dev/null +++ b/solenv/gbuild/WinResTarget.mk @@ -0,0 +1,70 @@ + +# WinResTarget class + +gb_WinResTarget_DEFAULTDEFS := $(gb_RCDEFS) + +define gb_WinResTarget_WinResTarget +$(call gb_WinResTarget_WinResTarget_init,$(1)) +$$(eval $$(call gb_Module_register_target,$(call gb_WinResTarget_get_target,$(1)),$(call gb_WinResTarget_get_clean_target,$(1)))) + +endef + +define gb_WinResTarget_WinResTarget_init +$(call gb_WinResTarget_get_target,$(1)) : DEFS := $(gb_WinResTarget_DEFAULTDEFS) +$(call gb_WinResTarget_get_target,$(1)) : INCLUDE := $(SOLARINC) +$(call gb_WinResTarget_get_clean_target,$(1)) : RCFILE := +$(call gb_WinResTarget_get_target,$(1)) : RCFILE := +ifeq ($(gb_FULLDEPS),$(true)) +$(call gb_WinResTarget_get_target,$(1)) : $(call gb_WinResTarget_get_dep_target,$(1)) +ifneq ($(wildcard $(call gb_WinResTarget_get_dep_target,$(1))),) +include $(call gb_WinResTarget_get_dep_target,$(1)) +else +$(firstword $(MAKEFILE_LIST)) : $(call gb_WinResTarget_get_dep_target,$(1)) +endif +$(call gb_WinResTarget_get_dep_target,$(1)) : DEFS := $$(gb_WinResTarget_DEFAULTDEFS) +$(call gb_WinResTarget_get_dep_target,$(1)) : INCLUDE := $$(gb_WinResTarget_INCLUDE) +$(call gb_WinResTarget_get_dep_target,$(1)) : RCFILE := +endif + +endef + +ifeq ($(gb_FULLDEPS),$(true)) +$(call gb_WinResTarget_get_dep_target,%) : $(gb_Helper_MISCDUMMY) + mkdir -p $(dir $@) && \ + echo '$(call gb_WinResTarget_get_target,$*) : $$(gb_Helper_PHONY)' > $@ +endif + + +$(call gb_WinResTarget_get_target,%) : + $(call gb_Output_announce,$*,$(true),RES,1) + $(call gb_WinResTarget__command_dep,$*,$<) + $(call gb_Helper_abbreviate_dirs,\ + mkdir -p $(dir $@)) + $(call gb_WinResTarget__command,$@) + +$(call gb_WinResTarget_get_clean_target,%) : + $(call gb_Helper_abbreviate_dirs,\ + rm -f $(call gb_WinResTarget_get_target,$*)) + +define gb_WinResTarget_set_defs +$(call gb_WinResTarget_get_target,$(1)) : DEFS := $(2) +$(call gb_WinResTarget_get_dep_target,$(1)) : DEFS := $(2) + +endef + +define gb_WinResTarget_set_include +$(call gb_WinResTarget_get_target,$(1)) : INCLUDE := $(2) + +endef + +define gb_WinResTarget_add_file +$(call gb_WinResTarget_get_clean_target,$(1)) : RCFILE=$(gb_Helper_SRCDIR_NATIVE)/$(2).rc +$(call gb_WinResTarget_get_target,$(1)) : RCFILE=$(foreach file,$(gb_REPOS),$(realpath $(file)/$(strip $(2)).rc)) +$(call gb_WinResTarget_get_target,$(1)) : $(foreach file,$(gb_REPOS),$(realpath $(file)/$(strip $(2)).rc)) + +endef + +define gb_WinResTarget_add_dependency +$(call gb_WinResTarget_get_target,$(1)) : $(foreach file,$(2),$(foreach repo,$(gb_REPOS),$(realpath $(repo)/$(strip $(file))))) + +endef diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk index 6d22074dc8e6..c370ca57ce81 100644 --- a/solenv/gbuild/gbuild.mk +++ b/solenv/gbuild/gbuild.mk @@ -221,6 +221,7 @@ $(eval $(call gb_Deliver_init)) include $(foreach class, \ ComponentTarget \ AllLangResTarget \ + WinResTarget \ LinkTarget \ Library \ StaticLibrary \ diff --git a/solenv/gbuild/platform/linux.mk b/solenv/gbuild/platform/linux.mk index 757ae52c1b52..0a239360d724 100755..100644 --- a/solenv/gbuild/platform/linux.mk +++ b/solenv/gbuild/platform/linux.mk @@ -277,10 +277,14 @@ endif gb_Library_PLAINLIBS_NONE += \ dl \ + freetype \ jpeg \ m \ pthread \ X11 \ + Xext \ + SM \ + ICE \ z gb_Library_FILENAMES := \ diff --git a/solenv/gbuild/platform/macosx.mk b/solenv/gbuild/platform/macosx.mk index 203ace96b15c..0611d2088e15 100644 --- a/solenv/gbuild/platform/macosx.mk +++ b/solenv/gbuild/platform/macosx.mk @@ -225,7 +225,7 @@ endef gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_COMPILEROPTFLAGS) gb_LinkTarget_CXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) -gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_OBJCXXFLAGS) $(gb_COMPILEROPTFLAGS) +gb_LinkTarget_OBJCXXFLAGS := $(gb_CXXFLAGS) $(gb_CXXFLAGS_WERROR) $(gb_OBJCXXFLAGS) $(gb_COMPILEROPTFLAGS) ifeq ($(gb_DEBUGLEVEL),2) gb_LinkTarget_CFLAGS += -g diff --git a/solenv/gbuild/platform/solaris.mk b/solenv/gbuild/platform/solaris.mk index 6f29a9745f0d..f39f3e559385 100755..100644 --- a/solenv/gbuild/platform/solaris.mk +++ b/solenv/gbuild/platform/solaris.mk @@ -250,10 +250,14 @@ endif gb_Library_PLAINLIBS_NONE += \ dl \ + freetype \ jpeg \ m \ pthread \ X11 \ + Xext \ + SM \ + ICE \ z gb_Library_FILENAMES := \ diff --git a/solenv/gbuild/platform/windows.mk b/solenv/gbuild/platform/windows.mk index 5c5b2a060070..97e778d7ae9c 100644 --- a/solenv/gbuild/platform/windows.mk +++ b/solenv/gbuild/platform/windows.mk @@ -37,6 +37,7 @@ gb_CXX := cl gb_LINK := link gb_AWK := awk gb_CLASSPATHSEP := ; +gb_RC := rc # use CC/CXX if they are nondefaults ifneq ($(origin CC),default) @@ -67,6 +68,13 @@ gb_COMPILERDEFS := \ gb_CPUDEFS := -DINTEL -D_X86_=1 +gb_RCDEFS := \ + -DWINVER=0x0400 \ + -DWIN32 \ + +gb_RCFLAGS := \ + -V + gb_CFLAGS := \ -Gd \ -GR \ @@ -180,7 +188,7 @@ gb_PrecompiledHeader_EXCEPTIONFLAGS := $(gb_LinkTarget_EXCEPTIONFLAGS) gb_LinkTarget_NOEXCEPTIONFLAGS := \ -DEXCEPTIONS_OFF \ - + gb_NoexPrecompiledHeader_NOEXCEPTIONFLAGS := $(gb_LinkTarget_NOEXCEPTIONFLAGS) gb_LinkTarget_LDFLAGS := \ @@ -285,11 +293,11 @@ $(call gb_Helper_abbreviate_dirs_native,\ $(3) \ -f - \ | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \ - -v OBJECTFILE=$(1) \ - -v OUTDIR=$(OUTDIR)/ \ + -v OBJECTFILE=$(1) \ + -v OUTDIR=$(OUTDIR)/ \ -v WORKDIR=$(WORKDIR)/ \ -v SRCDIR=$(SRCDIR)/ \ - -v REPODIR=$(REPODIR)/ \ + -v REPODIR=$(REPODIR)/ \ > $(call gb_CxxObject_get_dep_target,$(2))) endef else @@ -394,7 +402,6 @@ $(call gb_Helper_abbreviate_dirs_native,\ $(call gb_NoexPrecompiledHeader__command_deponcompile,$(1),$(2),$(3),$(4),$(5),$(6)) endef - # LinkTarget class gb_LinkTarget_CFLAGS := $(gb_CFLAGS) $(gb_CFLAGS_WERROR) $(gb_COMPILEROPTFLAGS) @@ -417,7 +424,7 @@ $(call gb_Helper_abbreviate_dirs_native,\ $(call gb_Helper_convert_native,$(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))) \ - $(PCHOBJS))) && \ + $(PCHOBJS) $(NATIVERES))) && \ $(gb_LINK) \ $(if $(filter Library CppunitTest,$(TARGETTYPE)),$(gb_Library_TARGETTYPEFLAGS)) \ $(if $(filter StaticLibrary,$(TARGETTYPE)),$(gb_StaticLibrary_TARGETTYPEFLAGS)) \ @@ -443,8 +450,11 @@ gb_Library_PLAINEXT := .lib gb_Library_PLAINLIBS_NONE += \ advapi32 \ gdi32 \ + gdiplus \ gnu_getopt \ + imm32\ kernel32 \ + msimg32 \ msvcrt \ mpr \ oldnames \ @@ -455,6 +465,7 @@ gb_Library_PLAINLIBS_NONE += \ user32 \ uuid \ uwinapi \ + winspool \ z \ gb_Library_LAYER := \ @@ -526,6 +537,26 @@ $(call gb_LinkTarget_get_headers_target,$(2)) : PDBFILE = $(call gb_LinkTarget_g endef +define gb_Library_add_default_nativeres +$(call gb_WinResTarget_WinResTarget_init,$(1)/$(2)) +$(call gb_WinResTarget_add_file,$(1)/$(2),solenv/inc/shlinfo) +$(call gb_WinResTarget_set_defs,$(1)/$(2),\ + $$(DEFS) \ + -DADDITIONAL_VERINFO1 \ + -DADDITIONAL_VERINFO2 \ + -DADDITIONAL_VERINFO3 \ +) +$(call gb_Library_add_nativeres,$(1),$(2)) +$(call gb_Library_get_clean_target,$(1)) : $(call gb_WinResTarget_get_clean_target,$(1)/$(2)) + +endef + +define gb_Library_add_nativeres +$(call gb_LinkTarget_get_target,$(call gb_Library__get_linktargetname,$(1))) : $(call gb_WinResTarget_get_target,$(1)/$(2)) +$(call gb_LinkTarget_get_target,$(call gb_Library__get_linktargetname,$(1))) : NATIVERES += $(call gb_WinResTarget_get_target,$(1)/$(2)) + +endef + define gb_Library_get_dllname $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_DLLFILENAMES))) endef @@ -679,6 +710,45 @@ else gb_SrsPartTarget__command_dep = endif +# WinResTarget class + +gb_WinResTarget_POSTFIX :=.res + +define gb_WinResTarget__command +$(call gb_Output_announce,$(2),$(true),RES,3) +$(call gb_Helper_abbreviate_dirs_native,\ + mkdir -p $(dir $(1)) && \ + $(gb_RC) \ + $(DEFS) $(FLAGS) \ + -I$(dir $(3)) \ + $(INCLUDE) \ + -Fo$(1) \ + $(RCFILE) ) +endef + +$(eval $(call gb_Helper_make_dep_targets,\ + WinResTarget \ +)) + +ifeq ($(gb_FULLDEPS),$(true)) +define gb_WinResTarget__command_dep +$(call gb_Helper_abbreviate_dirs_native,\ + $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \ + $(INCLUDE) \ + $(DEFS) \ + $(2) \ + -f - \ + | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \ + -v OBJECTFILE=$(call gb_WinResTarget_get_target,$(1)) \ + -v OUTDIR=$(OUTDIR)/ \ + -v WORKDIR=$(WORKDIR)/ \ + -v SRCDIR=$(SRCDIR)/ \ + -v REPODIR=$(REPODIR)/ \ + > $(call gb_WinResTarget_get_dep_target,$(1))) +endef +else +gb_WinResTarget__command_dep = +endif # ComponentTarget diff --git a/solenv/gbuild/platform/winmingw.mk b/solenv/gbuild/platform/winmingw.mk index e03f37a68d2b..49c36c14bc1b 100644 --- a/solenv/gbuild/platform/winmingw.mk +++ b/solenv/gbuild/platform/winmingw.mk @@ -98,6 +98,13 @@ gb_CPUDEFS := \ -DINTEL \ -D_M_IX86 \ +gb_RCDEFS := \ + -DWINVER=0x0400 \ + -DWIN32 \ + +gb_RCFLAGS := \ + -V + gb_CFLAGS := \ -Wall \ -Wendif-labels \ @@ -534,6 +541,26 @@ $(call gb_Deliver_add_deliverable,$(OUTDIR)/bin/$(notdir $(3)),$(3)) endef +define gb_Library_add_default_nativeres +$(call gb_WinResTarget_WinResTarget_init,$(1)/$(2)) +$(call gb_WinResTarget_add_file,$(1)/$(2),solenv/inc/shlinfo) +$(call gb_WinResTarget_set_defs,$(1)/$(2),\ + $$(DEFS) \ + -DADDITIONAL_VERINFO1 \ + -DADDITIONAL_VERINFO2 \ + -DADDITIONAL_VERINFO3 \ +) +$(call gb_Library_add_nativeres,$(1),$(2)) +$(call gb_Library_get_clean_target,$(1)) : $(call gb_WinResTarget_get_clean_target,$(1)/$(2)) + +endef + +define gb_Library_add_nativeres +$(call gb_LinkTarget_get_target,$(call gb_Library__get_linktargetname,$(1))) : $(call gb_WinResTarget_get_target,$(1)/$(2)) +$(call gb_LinkTarget_get_target,$(call gb_Library__get_linktargetname,$(1))) : NATIVERES += $(call gb_WinResTarget_get_target,$(1)/$(2)) + +endef + define gb_Library_get_dllname $(patsubst $(1):%,%,$(filter $(1):%,$(gb_Library_DLLFILENAMES))) endef @@ -612,6 +639,48 @@ else gb_SrsPartTarget__command_dep = endif +# WinResTarget class + +gb_WinResTarget_POSTFIX :=_res.o + +define gb_WinResTarget__command +$(call gb_Output_announce,$(2),$(true),RES,3) +$(call gb_Helper_abbreviate_dirs_native,\ + mkdir -p $(dir $(1)) && \ + $(gb_RC) \ + $(DEFS) $(FLAGS) \ + -I$(dir $(3)) \ + $(INCLUDE) \ + -Fo$(patsubst %_res.o,%.res,$(1)) \ + $(RCFILE) ) + windres $(patsubst %_res.o,%.res,$(1)) $(1) + rm $(patsubst %_res.o,%.res,$(1)) +endef + +$(eval $(call gb_Helper_make_dep_targets,\ + WinResTarget \ +)) + +ifeq ($(gb_FULLDEPS),$(true)) +define gb_WinResTarget__command_dep +$(call gb_Helper_abbreviate_dirs_native,\ + $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \ + $(INCLUDE) \ + $(DEFS) \ + $(2) \ + -f - \ + | $(gb_AWK) -f $(GBUILDDIR)/processdeps.awk \ + -v OBJECTFILE=$(call gb_WinResTarget_get_target,$(1)) \ + -v OUTDIR=$(OUTDIR)/ \ + -v WORKDIR=$(WORKDIR)/ \ + -v SRCDIR=$(SRCDIR)/ \ + -v REPODIR=$(REPODIR)/ \ + > $(call gb_WinResTarget_get_dep_target,$(1))) +endef +else +gb_WinResTarget__command_dep = +endif + # ComponentTarget gb_XSLTPROCPRECOMMAND := PATH="$${PATH}:$(OUTDIR)/bin" |