diff options
author | Michael Stahl <mstahl@redhat.com> | 2013-09-19 00:08:31 +0200 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2013-09-22 11:08:32 +0200 |
commit | f2899508b3bd55ecdbd45a02e0e8071b95906b3a (patch) | |
tree | 061ab2746bbebb6ffff3fd1ecf845292c860a0bc /solenv/gbuild/platform | |
parent | 4c51feb06e9ee9be25eca5ae58d07cd6c12bca63 (diff) |
gbuild: remove executables from OUTDIR and WORKDIR
Call and link executables directly in INSTDIR.
- gb_Library_get_target is now same as the gb_LinkTarget_get_target
- disable gb_Library_add_auxtarget, no auxtargets need to be copied
- adjust paths of all external executables to OUTDIR_FOR_BUILD for now
- use lazy assignment instead of := in AllLangResTarget because it's
read before Executable
- link.exe generates an import library for lots of executables
because they export symbols, especially since commit
0ffab9363d527d55b12b9b09d7136ca1c9d171e0
"force 'main' to always be DLLPUBLIC."
Change-Id: I3e1ee7425dd430bb83c7cd59e265869a0541b38d
Diffstat (limited to 'solenv/gbuild/platform')
-rw-r--r-- | solenv/gbuild/platform/com_MSC_class.mk | 20 | ||||
-rw-r--r-- | solenv/gbuild/platform/mingw.mk | 4 |
2 files changed, 14 insertions, 10 deletions
diff --git a/solenv/gbuild/platform/com_MSC_class.mk b/solenv/gbuild/platform/com_MSC_class.mk index 92c23910cde6..af84d3526158 100644 --- a/solenv/gbuild/platform/com_MSC_class.mk +++ b/solenv/gbuild/platform/com_MSC_class.mk @@ -370,15 +370,17 @@ gb_Executable_TARGETTYPEFLAGS := $(gb_Windows_PE_TARGETTYPEFLAGS) gb_Executable_get_rpath := +# surprisingly some executables have exports so link.exe creates import lib define gb_Executable_Executable_platform +$(call gb_LinkTarget_set_ilibtarget,$(2),$(3)) + $(call gb_LinkTarget_add_auxtargets,$(2),\ - $(patsubst %.exe,%.pdb,$(call gb_LinkTarget_get_target,$(2))) \ + $(patsubst %.lib,%.exp,$(3)) \ + $(call gb_LinkTarget_get_pdbfile2,$(2)).pdb \ $(call gb_LinkTarget_get_pdbfile,$(2)) \ + $(call gb_LinkTarget_get_manifestfile,$(2)) \ ) -$(call gb_Executable_add_auxtarget,$(1),$(call gb_Executable_get_target,$(1)).manifest) -$(call gb_Deliver_add_deliverable,$(call gb_Executable_get_target,$(1)).manifest,$(call gb_LinkTarget_get_target,$(2)).manifest,$(1)) - $(call gb_LinkTarget_get_target,$(2)) \ $(call gb_LinkTarget_get_headers_target,$(2)) : PDBFILE := $(call gb_LinkTarget_get_pdbfile,$(2)) $(call gb_LinkTarget_get_target,$(2)) : TARGETGUI := @@ -444,10 +446,11 @@ gb_PythonTest_PRECOMMAND := $(gb_Helper_LIBRARY_PATH_VAR)=$${$(gb_Helper_LIBRARY # SrsPartTarget class ifeq ($(gb_FULLDEPS),$(true)) -gb_SrsPartTarget__command_target = $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) +# FIXME this is used before TargetLocations is read? +gb_SrsPartTarget__command_target = $(WORKDIR)/LinkTarget/Executable/makedepend.exe define gb_SrsPartTarget__command_dep $(call gb_Helper_abbreviate_dirs,\ - $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \ + $(call gb_Executable_get_target,makedepend) \ $(INCLUDE) \ $(DEFS) \ $(2) \ @@ -485,12 +488,13 @@ $(eval $(call gb_Helper_make_dep_targets,\ )) ifeq ($(gb_FULLDEPS),$(true)) -gb_WinResTarget__command_target = $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) +# FIXME this is used before TargetLocations is read? +gb_WinResTarget__command_target = $(WORKDIR)/LinkTarget/Executable/makedepend.exe define gb_WinResTarget__command_dep $(call gb_Output_announce,RC:$(2),$(true),DEP,1) $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ - $(OUTDIR)/bin/makedepend$(gb_Executable_EXT) \ + $(call gb_Executable_get_target,makedepend) \ $(INCLUDE) \ $(DEFS) \ $(RCFILE) \ diff --git a/solenv/gbuild/platform/mingw.mk b/solenv/gbuild/platform/mingw.mk index ceb67679f006..e36343b51c23 100644 --- a/solenv/gbuild/platform/mingw.mk +++ b/solenv/gbuild/platform/mingw.mk @@ -321,12 +321,12 @@ $(eval $(call gb_Helper_make_dep_targets,\ )) ifeq ($(gb_FULLDEPS),$(true)) -gb_WinResTarget__command_target = $(OUTDIR_FOR_BUILD)/bin/makedepend +gb_WinResTarget__command_target = $(gb_Executable_BINDIR_FOR_BUILD)/makedepend define gb_WinResTarget__command_dep $(call gb_Output_announce,RC:$(2),$(true),DEP,1) $(call gb_Helper_abbreviate_dirs,\ mkdir -p $(dir $(1)) && \ - $(OUTDIR_FOR_BUILD)/bin/makedepend \ + $(gb_Executable_BINDIR_FOR_BUILD)/makedepend \ $(INCLUDE) \ $(DEFS) \ $(RCFILE) \ |