source: branches/swt/git.diff@ 22073

Last change on this file since 22073 was 22073, checked in by rousseau, 11 years ago

Test Commit 4: line endings -- second conversion run.

The first run missed the files in the scratch directory and some
in the root for some reason. Repeated the process for those.

File size: 25.5 KB
RevLine 
[22073]1diff --git a/$/rexx-with-CRLF.cmd b/$/rexx-with-CRLF.cmd
2index 82798b2..e64ab26 100644
3--- a/$/rexx-with-CRLF.cmd
4+++ b/$/rexx-with-CRLF.cmd
5@@ -1,6 +1,6 @@
6-/* Rexx */
[22072]7-
8-say '';
[22073]9-say 'This script was git-svn committed with CRLF line endings.';
10-say 'When checked out, this should still be the case.';
[22072]11-say '';
[22073]12+/* Rexx */
[22072]13+
14+say '';
[22073]15+say 'This script was git-svn committed with CRLF line endings.';
16+say 'When checked out, this should still be the case.';
17+say '';
18diff --git a/$/rexx-with-LF.cmd b/$/rexx-with-LF.cmd
19index a096cf3..269bcab 100644
20--- a/$/rexx-with-LF.cmd
21+++ b/$/rexx-with-LF.cmd
22@@ -1,8 +1,8 @@
23-/* Rexx */
[22072]24-
25-say '';
[22073]26-say 'This script was git-committed with only LF line endings.';
27-say 'When checked out with git-svn it should be converted to CRLF';
28-say 'provided that the correct .gitattributes file is present.';
29-say 'Behavior when checking out with svn will be tested next.';
30-say '';
31+/* Rexx */
[22072]32+
33+say '';
[22073]34+say 'This script was git-committed with only LF line endings.';
35+say 'When checked out with git-svn it should be converted to CRLF';
36+say 'provided that the correct .gitattributes file is present.';
37+say 'Behavior when checking out with svn will be tested next.';
38+say '';
39diff --git a/Config.kmk b/Config.kmk
40index 612f721..ded33f8 100644
41--- a/Config.kmk
42+++ b/Config.kmk
43@@ -1,322 +1,322 @@
[22072]44-## @file
[22073]45-# Global Project Configuration File
[22072]46-#
47-
[22073]48-#------------------------------------------------------------------------------
49-# Global definitions
50-#------------------------------------------------------------------------------
[22072]51-
[22073]52-#
53-# @todo kBuild forgets to do that on OS/2
54-#
55-INST_DLL = bin/
[22072]56-
[22073]57-#
58-# Watcom Linker is required because of some Watcom-specific directives (used
59-# e.g. to compensate for the lack of SEGMENTS support in .DEF in emxomfld, see
60-# svn.netlabs.org/libc/ticket/252). Besides, it's more stable than the outdated
61-# IBM linker.
62-#
63-ifn1of ($(EMXOMFLD_TYPE),WLINK wlink)
64-$(error You must use Watcom Linker and set EMXOMFLD_TYPE to WLINK (it's now $(EMXOMFLD_TYPE)))
65-endif
[22072]66-
[22073]67-#
68-# TCPV40HDRS requires an alternative libsocket.lib located in a separate directory.
69-# Try to deduce it.
70-#
71-PATH_GCC_LIB_TCPIPV4 := $(dir $(shell gcc -print-file-name=libsocket.lib))/tcpipv4
72-ifeq ($(PATH_GCC_LIB_TCPIPV4),/tcpipv4)
73-$(error Could not detect the GCC TCPIPV4 socket library path.)
74-endif
[22072]75-
[22073]76-##
77-# Defines an import library target for the given DLL target.
78-#
79-# @param 1 DLL target name.
80-# @param 2 .def file (defaults to <1>.def).
81-# @param 3 .def file for debug (defaults to <2>).
82-# @param 4 list of object files containing additional exports.
83-# @param 5 non-empty to disable .def post-processing with ImpDef.
84-#
85-odin_implib = $(evalcall odin_implib_common,$(1),$(2),$(3),$(4),$(5))
[22072]86-
[22073]87-define odin_implib_common
88- local target := $(1)
89- local def := $(abspath $(PATH_SUB_CURRENT)/$(if $(2),$(2),$(1).def))
90- local def_exp := $(notdir $(basename $(def))).exp.def
91-ifneq ($(3),)
92- #local def_debug := $(abspath $(PATH_SUB_CURRENT)/$(3))
93- #local def_exp_debug := $(notdir $(basename $(def_debug))).exp.def
94-endif
95- local obj_list := $(4)
96- local do_def_exp := $(if $(5),,1)
97- $(eval $(def_odin_implib))
98-endef
[22072]99-
[22073]100-define def_odin_implib
101- LIBRARIES += $(target)_imp
102- $(target)_imp_TEMPLATE = OdinCxx
103- $(target)_imp_NAME = $(target)
104- $$$$($(target)_imp_0_OUTDIR)/$(def_exp): $(def) \
105- $(addsuffix $$$$(TOOL_GXX3OMF_COBJSUFF), \
106- $(addprefix $$$$($(target)_0_OUTDIR)/,$(obj_list))) \
107- $$(PATH_STAGE_BIN)/impdef.exe | $$$$(dir $$$$@)
108- %$$(call MSG_TOOL,impdef,$(target)_imp,$(abspath $$<),$$@)
109-ifneq ($(do_def_exp),)
110- $(QUIET2)$$(PATH_STAGE_BIN)/impdef.exe $(def) $$@
111-else
112- $(QUIET2)$(CP) $(def) $$@
113-endif
114-ifneq ($(obj_list),)
115- $(QUIET2)emxexp.exe \
116- $(addsuffix $$(TOOL_GXX3OMF_COBJSUFF), \
117- $(addprefix $$($(target)_0_OUTDIR)/,$(obj_list))) >> $$@
118-endif
119-ifeq ($(def_exp_debug),)
120- ifneq ($(do_def_exp)$(obj_list),)
121- $(target)_imp_SOURCES = $$($(target)_imp_0_OUTDIR)/$(def_exp)
122- $(target)_imp_CLEAN += $$($(target)_imp_0_OUTDIR)/$(def_exp)
123- else
124- $(target)_imp_SOURCES = $(def)
125- endif
126-else
127- ifneq ($(do_def_exp)$(obj_list),)
128- $(target)_imp_SOURCES.release = $$($(target)_imp_0_OUTDIR)/$(def_exp)
129- $(target)_imp_CLEAN.release += $$($(target)_imp_0_OUTDIR)/$(def_exp)
130- $$$$($(target)_imp_0_OUTDIR)/$(def_exp_debug): $(def_debug) \
131- $(addsuffix $$$$(TOOL_GXX3OMF_COBJSUFF), \
132- $(addprefix $$$$($(target)_0_OUTDIR)/,$(obj_list))) \
133- $$(PATH_STAGE_BIN)/impdef.exe | $$$$(dir $$$$@)
134- %$$(call MSG_TOOL,impdef,$(target)_imp,$(abspath $$<),$$@)
135-ifneq ($(do_def_exp),)
136- $(QUIET2)$$(PATH_STAGE_BIN)/impdef.exe $(def_debug) $$@
137-else
138- $(QUIET2)$(CP) $(def_debug) $$@
139-endif
140-ifneq ($(obj_list),)
141- $(QUIET2)emxexp.exe \
142- $(addsuffix $$(TOOL_GXX3OMF_COBJSUFF), \
143- $(addprefix $$($(target)_0_OUTDIR)/,$(obj_list))) >> $$@
144-endif
145- $(target)_imp_SOURCES.debug = $$($(target)_imp_0_OUTDIR)/$(def_exp_debug)
146- $(target)_imp_CLEAN.debug += $$($(target)_imp_0_OUTDIR)/$(def_exp_debug)
147- else
148- $(target)_imp_SOURCES.release = $(def)
149- $(target)_imp_SOURCES.debug = $(def_debug)
150- endif
151-endif
152-endef
[22072]153-
[22073]154-##
155-# Shortcut to $(call odin_implib,<1>,<2>,<3>,<4>,1) used to disable .def file
156-# post-processing with the ImpDef tool.
157-#
158-# @param 1 DLL target name.
159-# @param 2 .def file (defaults to <1>.def).
160-# @param 3 .def file for debug (defaults to <2>).
161-# @param 4 list of object files containing additional exports.
162-#
163-odin_implib_no_expdef = $(call odin_implib,$(1),$(2),$(3),$(4),1)
[22072]164-
[22073]165-##
166-# Shortcut to $(call odin_implib, <1>,<1>.def,<1>dbg.def,<2>).
[22072]167-#
[22073]168-# @param 1 DLL target name.
169-# @param 2 list of object files containing additional exports.
170-#
171-odin_implib_2 = $(call odin_implib,$(1),$(1).def,$(1)dbg.def,$(2))
[22072]172-
[22073]173-##
174-# Shortcut to $(call odin_implib_no_expdef,<1>,<1>.def,<1>dbg.def,<2>).
[22072]175-#
[22073]176-# @param 1 DLL target name.
177-# @param 2 list of object files containing additional exports.
[22072]178-#
[22073]179-odin_implib_2_no_expdef = $(call odin_implib_no_expdef,$(1),$(1).def,$(1)dbg.def,$(2))
[22072]180-
181-#
[22073]182-# Handler for Wine RC (.orc) source files
183-#
184-KBUILD_SRC_HANDLERS += .orc:def_src_handler_wrc
185-define def_src_handler_wrc
186-local type := WRC
187- $(kb-src-one 2)
188-endef
189-PROPS_ACCUMULATE_R += WRCFLAGS
[22072]190-
191-#
[22073]192-# Override handler for .asm files to compile them with the MASM-compilant tool
193-#
194-KBUILD_SRC_HANDLERS := .asm:def_src_handler_masm $(KBUILD_SRC_HANDLERS)
195-define def_src_handler_masm
196-local type := $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)
197- $(kb-src-one 2)
198-endef
199-PROPS_ACCUMULATE_R += $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)FLAGS
[22072]200-
201-#
[22073]202-# Handler for .def files to add bldlevel info to them
203-#
204-define def_src_handler_def
205-local type := DEF
206- $(kb-src-one 2)
207-#.NOTPARALLEL: $(obj) # BldLevelInf.cmd can't open files in parallel
208-endef
[22072]209-
[22073]210-#------------------------------------------------------------------------------
211-# Tools
212-#------------------------------------------------------------------------------
[22072]213-
214-#
[22073]215-# Add support for Wine RC to the GCC compiler
216-#
217-TOOL_GXX3OMF_WRC = $(PATH_STAGE_BIN)/winerc.exe
218-TOOL_GXX3OMF_WRCOBJSUFF = .orc$(TOOL_GXX3OMF_COBJSUFF)
219-TOOL_GXX3OMF_WRCFLAGS =
220-TOOL_GXX3OMF_COMPILE_WRC_OUTPUT = $(outbase).orc.s
221-TOOL_GXX3OMF_COMPILE_WRC_DEPEND = $(TOOL_GXX3OMF_WRC)
222-TOOL_GXX3OMF_COMPILE_WRC_DEPORD =
223-define TOOL_GXX3OMF_COMPILE_WRC_CMDS
224- $(QUIET)$(TOOL_GXX3OMF_WRC) -s -I$(subst /,\\,$(abspath $(dir $(source))))\
225- $(flags) $(addprefix -I, $(subst /,\\,$(incs))) $(addprefix -D, $(defs))\
226- $(subst /,\\,$(abspath $(source))) \
227- -o $(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT)
228- $(QUIET)$(TOOL_GXX3OMF_CC) -E -I$(subst /,\\,$(abspath $(dir $(source))))\
229- $(addprefix -I, $(incs)) -I . $(addprefix -D, $(defs))\
230- -x c $(abspath $(source)) \
231- | $(DEP_PRE) -f -s -o $(dep) -t $(obj) -
232- $(subst $(source),$(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT),\
233- $(subst $(flags),,$(TOOL_GXX3OMF_COMPILE_AS_CMDS)))
234-endef
[22072]235-
236-#
[22073]237-# Add support for MASM to the GCC compiler
238-#
239-TOOL_GXX3OMF_MASM = $(PATH_TOOL_ALP)
240-TOOL_GXX3OMF_MASMFLAGS = -Mb
241-TOOL_GXX3OMF_COMPILE_MASM_OUTPUT = $(outbase).lst
242-TOOL_GXX3OMF_COMPILE_MASM_DEPEND =
243-TOOL_GXX3OMF_COMPILE_MASM_DEPORD =
244-define TOOL_GXX3OMF_COMPILE_MASM_CMDS
245- $(QUIET)$(TOOL_GXX3OMF_MASM) -D:__GNUC__ -D:__EMX__\
246- $(flags) $(addsuffix /,$(addprefix -I:, $(incs))) $(addprefix -D:, $(defs))\
247- $(source)\
248- -Fl:$(outbase).lst\
249- -Fd:$(dep)\
250- -Fo:$(obj)
251-endef
[22072]252-
253-#
[22073]254-# Add support for DEF file bldlevel info generator to the GCC compiler
255-#
256-TOOL_GXX3OMF_DEF = $(PATH_ROOT)/tools/bin/BldLevelInf.cmd
257-TOOL_GXX3OMF_DEFOBJSUFF = .bldlevel.def
258-TOOL_GXX3OMF_COMPILE_DEF_OUTPUT =
259-TOOL_GXX3OMF_COMPILE_DEF_DEPEND = $(PATH_ROOT)/include/odinbuild.h
260-TOOL_GXX3OMF_COMPILE_DEF_DEPORD =
261-define TOOL_GXX3OMF_COMPILE_DEF_CMDS
262- $(QUIET)cmd /c 'set BUILD_QUIET=1 && $(TOOL_GXX3OMF_DEF)\
263- $(source) $(outbase).bldlevel.def\
264- -R"$(source)"\
265- -V"#define=ODIN32_VERSION,$(subst /,/,$(PATH_ROOT)/include/odinbuild.h)"\
266- -M"#define=ODIN32_BUILD_NR,$(subst /,/,$(PATH_ROOT)/include/odinbuild.h)"'
267-endef
[22072]268-
[22073]269-#------------------------------------------------------------------------------
270-# Common libraries referenced by components
271-#------------------------------------------------------------------------------
[22072]272-
[22073]273-#------------------------------------------------------------------------------
274-# General Stuff
275-#------------------------------------------------------------------------------
[22072]276-
[22073]277-KBUILD_UNIT_PATHS += $(PATH_ROOT)
[22072]278-
[22073]279-TEMPLATE_OdinCxx = Odin C/C++ sources
280-TEMPLATE_OdinCxx_USES = Extra
281-TEMPLATE_OdinCxx_TOOL = GXX3OMF
282-TEMPLATE_OdinCxx_INCS = $(PATH_ROOT)/include/win $(PATH_ROOT)/include $(PATH_ROOT)/include/incl_gcc
283-TEMPLATE_OdinCxx_DEFS = USE_OS2_TOOLKIT_HEADERS OS2EMX_PLAIN_CHAR \
284- __WIN32OS2__ __i386__
285-TEMPLATE_OdinCxx_DEFS.debug = DEBUG
286-TEMPLATE_OdinCxx_LDFLAGS = -Zlinker '"DISABLE 1121"'
[22072]287-
[22073]288-# generate .sym files but don't put them in a separate dir
289-TEMPLATE_OdinCxx_LD_DEBUG = split
290-TEMPLATE_OdinCxx_DEBUG_STAGE = nul
[22072]291-
[22073]292-TEMPLATE_OdinBin = Odin DLL or EXE
293-TEMPLATE_OdinBin_EXTENDS = OdinCxx
[22072]294-
[22073]295-# Override DEF handler to add bldlevel info to .DEF files
296-TEMPLATE_OdinBin_SRC_HANDLERS = .def:def_src_handler_def
[22072]297-
[22073]298-TEMPLATE_OdinDLL = Odin DLL
299-TEMPLATE_OdinDLL_EXTENDS = OdinBin
300-TEMPLATE_OdinDLL_EXTENDS_BY = appending
301-TEMPLATE_OdinDLL_DEFS = $(TEMPLATE_OdinCxx_DEFS) __WINE__ COMCTL32UNDOC TCPV40HDRS __USE_LIBC_TCPIP
302-TEMPLATE_OdinDLL_LIBS = $(PATH_STAGE_LIB)/odincrt.lib \
303- $(PATH_STAGE_LIB)/initdll.lib
304-TEMPLATE_OdinDLL_LDFLAGS = -L$(PATH_GCC_LIB_TCPIPV4) # necessary for TCPV40HDRS
305-TEMPLATE_OdinDLL_LDFLAGS += KMK_NOIMPLIB # disable automatic implib
306-TEMPLATE_OdinDLL_WRCFLAGS = -p_$(target)
[22072]307-
[22073]308-TEMPLATE_OdinSimpleDLL = Odin DLL with ordinary entry point
309-TEMPLATE_OdinSimpleDLL_EXTENDS = OdinDLL
310-TEMPLATE_OdinSimpleDLL_EXTENDS_BY = overriding
311-TEMPLATE_OdinSimpleDLL_LIBS = $(PATH_STAGE_LIB)/dllentry.o $(TEMPLATE_OdinDLL_LIBS)
312-TEMPLATE_OdinSimpleDLL_WRCFLAGS = -p_Resource
[22072]313-
[22073]314-TEMPLATE_OdinCRT = OdinCRT DLL
315-TEMPLATE_OdinCRT_EXTENDS = OdinBin
316-TEMPLATE_OdinCRT_EXTENDS_BY = appending
317-TEMPLATE_OdinCRT_DEFS = __WINE__
318-TEMPLATE_OdinCRT_LIBS = $(PATH_STAGE_LIB)/initdll.lib
319-TEMPLATE_OdinCRT_LDFLAGS += KMK_NOIMPLIB # disable automatic implib
[22072]320-
[22073]321-TEMPLATE_OdinApp = Odin application
322-TEMPLATE_OdinApp_EXTENDS = OdinBin
[22072]323-
[22073]324-TEMPLATE_OdinTestApp = Odin application
325-TEMPLATE_OdinTestApp_EXTENDS= OdinApp
326-TEMPLATE_OdinTestApp_STAGE = tests/
[22072]327-
[22073]328-#------------------------------------------------------------------------------
329-# GCC Stuff
330-#------------------------------------------------------------------------------
[22072]331-
[22073]332-#------------------------------------------------------------------------------
333-# Other Stuff
334-#------------------------------------------------------------------------------
[22072]335-
[22073]336-#
337-# Include a site-specific config for local overrides
338-#
339-ifndef LOCALCFG
340- LOCALCFG := $(wildcard $(PATH_ROOT)/LocalConfig.kmk)
341- ifneq ($(LOCALCFG),)
342- include $(LOCALCFG)
343- endif
344-endif
[22072]345-
[22073]346-#------------------------------------------------------------------------------
347-# Post-processing
348-#------------------------------------------------------------------------------
[22072]349-
[22073]350-ifeq ($(PATH_TOOL_ALP),)
351-ifneq ($(PATH_SDK_OS2TK4),)
352-PATH_TOOL_ALP := $(PATH_SDK_OS2TK4)/bin/alp.exe
[22072]353-else
[22073]354-PATH_TOOL_ALP := alp.exe
355-endif
356-endif
[22072]357-
[22073]358-ifneq ($(PATH_SDK_OS2TK4),)
[22072]359-#
[22073]360-# We can't add Toolkit includes in _INCS (it will casuse then to be searched
361-# before GCC headers and lead to conflicts), so use -idirafter.
[22072]362-#
[22073]363-TEMPLATE_OdinCxx_CFLAGS += -idirafter $(PATH_SDK_OS2TK4)/h
364-TEMPLATE_OdinCxx_CXXFLAGS += -idirafter $(PATH_SDK_OS2TK4)/h
365-endif
[22072]366+## @file
[22073]367+# Global Project Configuration File
[22072]368+#
369+
[22073]370+#------------------------------------------------------------------------------
371+# Global definitions
372+#------------------------------------------------------------------------------
[22072]373+
374+#
[22073]375+# @todo kBuild forgets to do that on OS/2
[22072]376+#
[22073]377+INST_DLL = bin/
[22072]378+
[22073]379+#
380+# Watcom Linker is required because of some Watcom-specific directives (used
381+# e.g. to compensate for the lack of SEGMENTS support in .DEF in emxomfld, see
382+# svn.netlabs.org/libc/ticket/252). Besides, it's more stable than the outdated
383+# IBM linker.
384+#
385+ifn1of ($(EMXOMFLD_TYPE),WLINK wlink)
386+$(error You must use Watcom Linker and set EMXOMFLD_TYPE to WLINK (it's now $(EMXOMFLD_TYPE)))
387+endif
[22072]388+
[22073]389+#
390+# TCPV40HDRS requires an alternative libsocket.lib located in a separate directory.
391+# Try to deduce it.
392+#
393+PATH_GCC_LIB_TCPIPV4 := $(dir $(shell gcc -print-file-name=libsocket.lib))/tcpipv4
394+ifeq ($(PATH_GCC_LIB_TCPIPV4),/tcpipv4)
395+$(error Could not detect the GCC TCPIPV4 socket library path.)
396+endif
[22072]397+
[22073]398+##
399+# Defines an import library target for the given DLL target.
400+#
401+# @param 1 DLL target name.
402+# @param 2 .def file (defaults to <1>.def).
403+# @param 3 .def file for debug (defaults to <2>).
404+# @param 4 list of object files containing additional exports.
405+# @param 5 non-empty to disable .def post-processing with ImpDef.
406+#
407+odin_implib = $(evalcall odin_implib_common,$(1),$(2),$(3),$(4),$(5))
[22072]408+
[22073]409+define odin_implib_common
410+ local target := $(1)
411+ local def := $(abspath $(PATH_SUB_CURRENT)/$(if $(2),$(2),$(1).def))
412+ local def_exp := $(notdir $(basename $(def))).exp.def
413+ifneq ($(3),)
414+ #local def_debug := $(abspath $(PATH_SUB_CURRENT)/$(3))
415+ #local def_exp_debug := $(notdir $(basename $(def_debug))).exp.def
416+endif
417+ local obj_list := $(4)
418+ local do_def_exp := $(if $(5),,1)
419+ $(eval $(def_odin_implib))
420+endef
[22072]421+
[22073]422+define def_odin_implib
423+ LIBRARIES += $(target)_imp
424+ $(target)_imp_TEMPLATE = OdinCxx
425+ $(target)_imp_NAME = $(target)
426+ $$$$($(target)_imp_0_OUTDIR)/$(def_exp): $(def) \
427+ $(addsuffix $$$$(TOOL_GXX3OMF_COBJSUFF), \
428+ $(addprefix $$$$($(target)_0_OUTDIR)/,$(obj_list))) \
429+ $$(PATH_STAGE_BIN)/impdef.exe | $$$$(dir $$$$@)
430+ %$$(call MSG_TOOL,impdef,$(target)_imp,$(abspath $$<),$$@)
431+ifneq ($(do_def_exp),)
432+ $(QUIET2)$$(PATH_STAGE_BIN)/impdef.exe $(def) $$@
[22072]433+else
[22073]434+ $(QUIET2)$(CP) $(def) $$@
435+endif
436+ifneq ($(obj_list),)
437+ $(QUIET2)emxexp.exe \
438+ $(addsuffix $$(TOOL_GXX3OMF_COBJSUFF), \
439+ $(addprefix $$($(target)_0_OUTDIR)/,$(obj_list))) >> $$@
440+endif
441+ifeq ($(def_exp_debug),)
442+ ifneq ($(do_def_exp)$(obj_list),)
443+ $(target)_imp_SOURCES = $$($(target)_imp_0_OUTDIR)/$(def_exp)
444+ $(target)_imp_CLEAN += $$($(target)_imp_0_OUTDIR)/$(def_exp)
445+ else
446+ $(target)_imp_SOURCES = $(def)
447+ endif
[22072]448+else
[22073]449+ ifneq ($(do_def_exp)$(obj_list),)
450+ $(target)_imp_SOURCES.release = $$($(target)_imp_0_OUTDIR)/$(def_exp)
451+ $(target)_imp_CLEAN.release += $$($(target)_imp_0_OUTDIR)/$(def_exp)
452+ $$$$($(target)_imp_0_OUTDIR)/$(def_exp_debug): $(def_debug) \
453+ $(addsuffix $$$$(TOOL_GXX3OMF_COBJSUFF), \
454+ $(addprefix $$$$($(target)_0_OUTDIR)/,$(obj_list))) \
455+ $$(PATH_STAGE_BIN)/impdef.exe | $$$$(dir $$$$@)
456+ %$$(call MSG_TOOL,impdef,$(target)_imp,$(abspath $$<),$$@)
457+ifneq ($(do_def_exp),)
458+ $(QUIET2)$$(PATH_STAGE_BIN)/impdef.exe $(def_debug) $$@
[22072]459+else
[22073]460+ $(QUIET2)$(CP) $(def_debug) $$@
461+endif
462+ifneq ($(obj_list),)
463+ $(QUIET2)emxexp.exe \
464+ $(addsuffix $$(TOOL_GXX3OMF_COBJSUFF), \
465+ $(addprefix $$($(target)_0_OUTDIR)/,$(obj_list))) >> $$@
466+endif
467+ $(target)_imp_SOURCES.debug = $$($(target)_imp_0_OUTDIR)/$(def_exp_debug)
468+ $(target)_imp_CLEAN.debug += $$($(target)_imp_0_OUTDIR)/$(def_exp_debug)
469+ else
470+ $(target)_imp_SOURCES.release = $(def)
471+ $(target)_imp_SOURCES.debug = $(def_debug)
472+ endif
473+endif
474+endef
[22072]475+
[22073]476+##
477+# Shortcut to $(call odin_implib,<1>,<2>,<3>,<4>,1) used to disable .def file
478+# post-processing with the ImpDef tool.
479+#
480+# @param 1 DLL target name.
481+# @param 2 .def file (defaults to <1>.def).
482+# @param 3 .def file for debug (defaults to <2>).
483+# @param 4 list of object files containing additional exports.
484+#
485+odin_implib_no_expdef = $(call odin_implib,$(1),$(2),$(3),$(4),1)
[22072]486+
[22073]487+##
488+# Shortcut to $(call odin_implib, <1>,<1>.def,<1>dbg.def,<2>).
489+#
490+# @param 1 DLL target name.
491+# @param 2 list of object files containing additional exports.
492+#
493+odin_implib_2 = $(call odin_implib,$(1),$(1).def,$(1)dbg.def,$(2))
[22072]494+
[22073]495+##
496+# Shortcut to $(call odin_implib_no_expdef,<1>,<1>.def,<1>dbg.def,<2>).
497+#
498+# @param 1 DLL target name.
499+# @param 2 list of object files containing additional exports.
500+#
501+odin_implib_2_no_expdef = $(call odin_implib_no_expdef,$(1),$(1).def,$(1)dbg.def,$(2))
[22072]502+
[22073]503+#
504+# Handler for Wine RC (.orc) source files
505+#
506+KBUILD_SRC_HANDLERS += .orc:def_src_handler_wrc
507+define def_src_handler_wrc
508+local type := WRC
509+ $(kb-src-one 2)
510+endef
511+PROPS_ACCUMULATE_R += WRCFLAGS
[22072]512+
[22073]513+#
514+# Override handler for .asm files to compile them with the MASM-compilant tool
515+#
516+KBUILD_SRC_HANDLERS := .asm:def_src_handler_masm $(KBUILD_SRC_HANDLERS)
517+define def_src_handler_masm
518+local type := $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)
519+ $(kb-src-one 2)
520+endef
521+PROPS_ACCUMULATE_R += $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)FLAGS
[22072]522+
[22073]523+#
524+# Handler for .def files to add bldlevel info to them
525+#
526+define def_src_handler_def
527+local type := DEF
528+ $(kb-src-one 2)
529+#.NOTPARALLEL: $(obj) # BldLevelInf.cmd can't open files in parallel
530+endef
[22072]531+
[22073]532+#------------------------------------------------------------------------------
533+# Tools
534+#------------------------------------------------------------------------------
[22072]535+
[22073]536+#
537+# Add support for Wine RC to the GCC compiler
538+#
539+TOOL_GXX3OMF_WRC = $(PATH_STAGE_BIN)/winerc.exe
540+TOOL_GXX3OMF_WRCOBJSUFF = .orc$(TOOL_GXX3OMF_COBJSUFF)
541+TOOL_GXX3OMF_WRCFLAGS =
542+TOOL_GXX3OMF_COMPILE_WRC_OUTPUT = $(outbase).orc.s
543+TOOL_GXX3OMF_COMPILE_WRC_DEPEND = $(TOOL_GXX3OMF_WRC)
544+TOOL_GXX3OMF_COMPILE_WRC_DEPORD =
545+define TOOL_GXX3OMF_COMPILE_WRC_CMDS
546+ $(QUIET)$(TOOL_GXX3OMF_WRC) -s -I$(subst /,\\,$(abspath $(dir $(source))))\
547+ $(flags) $(addprefix -I, $(subst /,\\,$(incs))) $(addprefix -D, $(defs))\
548+ $(subst /,\\,$(abspath $(source))) \
549+ -o $(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT)
550+ $(QUIET)$(TOOL_GXX3OMF_CC) -E -I$(subst /,\\,$(abspath $(dir $(source))))\
551+ $(addprefix -I, $(incs)) -I . $(addprefix -D, $(defs))\
552+ -x c $(abspath $(source)) \
553+ | $(DEP_PRE) -f -s -o $(dep) -t $(obj) -
554+ $(subst $(source),$(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT),\
555+ $(subst $(flags),,$(TOOL_GXX3OMF_COMPILE_AS_CMDS)))
556+endef
[22072]557+
[22073]558+#
559+# Add support for MASM to the GCC compiler
560+#
561+TOOL_GXX3OMF_MASM = $(PATH_TOOL_ALP)
562+TOOL_GXX3OMF_MASMFLAGS = -Mb
563+TOOL_GXX3OMF_COMPILE_MASM_OUTPUT = $(outbase).lst
564+TOOL_GXX3OMF_COMPILE_MASM_DEPEND =
565+TOOL_GXX3OMF_COMPILE_MASM_DEPORD =
566+define TOOL_GXX3OMF_COMPILE_MASM_CMDS
567+ $(QUIET)$(TOOL_GXX3OMF_MASM) -D:__GNUC__ -D:__EMX__\
568+ $(flags) $(addsuffix /,$(addprefix -I:, $(incs))) $(addprefix -D:, $(defs))\
569+ $(source)\
570+ -Fl:$(outbase).lst\
571+ -Fd:$(dep)\
572+ -Fo:$(obj)
573+endef
[22072]574+
[22073]575+#
576+# Add support for DEF file bldlevel info generator to the GCC compiler
577+#
578+TOOL_GXX3OMF_DEF = $(PATH_ROOT)/tools/bin/BldLevelInf.cmd
579+TOOL_GXX3OMF_DEFOBJSUFF = .bldlevel.def
580+TOOL_GXX3OMF_COMPILE_DEF_OUTPUT =
581+TOOL_GXX3OMF_COMPILE_DEF_DEPEND = $(PATH_ROOT)/include/odinbuild.h
582+TOOL_GXX3OMF_COMPILE_DEF_DEPORD =
583+define TOOL_GXX3OMF_COMPILE_DEF_CMDS
584+ $(QUIET)cmd /c 'set BUILD_QUIET=1 && $(TOOL_GXX3OMF_DEF)\
585+ $(source) $(outbase).bldlevel.def\
586+ -R"$(source)"\
587+ -V"#define=ODIN32_VERSION,$(subst /,/,$(PATH_ROOT)/include/odinbuild.h)"\
588+ -M"#define=ODIN32_BUILD_NR,$(subst /,/,$(PATH_ROOT)/include/odinbuild.h)"'
589+endef
[22072]590+
[22073]591+#------------------------------------------------------------------------------
592+# Common libraries referenced by components
593+#------------------------------------------------------------------------------
[22072]594+
[22073]595+#------------------------------------------------------------------------------
596+# General Stuff
597+#------------------------------------------------------------------------------
[22072]598+
[22073]599+KBUILD_UNIT_PATHS += $(PATH_ROOT)
[22072]600+
[22073]601+TEMPLATE_OdinCxx = Odin C/C++ sources
602+TEMPLATE_OdinCxx_USES = Extra
603+TEMPLATE_OdinCxx_TOOL = GXX3OMF
604+TEMPLATE_OdinCxx_INCS = $(PATH_ROOT)/include/win $(PATH_ROOT)/include $(PATH_ROOT)/include/incl_gcc
605+TEMPLATE_OdinCxx_DEFS = USE_OS2_TOOLKIT_HEADERS OS2EMX_PLAIN_CHAR \
606+ __WIN32OS2__ __i386__
607+TEMPLATE_OdinCxx_DEFS.debug = DEBUG
608+TEMPLATE_OdinCxx_LDFLAGS = -Zlinker '"DISABLE 1121"'
[22072]609+
[22073]610+# generate .sym files but don't put them in a separate dir
611+TEMPLATE_OdinCxx_LD_DEBUG = split
612+TEMPLATE_OdinCxx_DEBUG_STAGE = nul
[22072]613+
[22073]614+TEMPLATE_OdinBin = Odin DLL or EXE
615+TEMPLATE_OdinBin_EXTENDS = OdinCxx
[22072]616+
[22073]617+# Override DEF handler to add bldlevel info to .DEF files
618+TEMPLATE_OdinBin_SRC_HANDLERS = .def:def_src_handler_def
[22072]619+
[22073]620+TEMPLATE_OdinDLL = Odin DLL
621+TEMPLATE_OdinDLL_EXTENDS = OdinBin
622+TEMPLATE_OdinDLL_EXTENDS_BY = appending
623+TEMPLATE_OdinDLL_DEFS = $(TEMPLATE_OdinCxx_DEFS) __WINE__ COMCTL32UNDOC TCPV40HDRS __USE_LIBC_TCPIP
624+TEMPLATE_OdinDLL_LIBS = $(PATH_STAGE_LIB)/odincrt.lib \
625+ $(PATH_STAGE_LIB)/initdll.lib
626+TEMPLATE_OdinDLL_LDFLAGS = -L$(PATH_GCC_LIB_TCPIPV4) # necessary for TCPV40HDRS
627+TEMPLATE_OdinDLL_LDFLAGS += KMK_NOIMPLIB # disable automatic implib
628+TEMPLATE_OdinDLL_WRCFLAGS = -p_$(target)
[22072]629+
[22073]630+TEMPLATE_OdinSimpleDLL = Odin DLL with ordinary entry point
631+TEMPLATE_OdinSimpleDLL_EXTENDS = OdinDLL
632+TEMPLATE_OdinSimpleDLL_EXTENDS_BY = overriding
633+TEMPLATE_OdinSimpleDLL_LIBS = $(PATH_STAGE_LIB)/dllentry.o $(TEMPLATE_OdinDLL_LIBS)
634+TEMPLATE_OdinSimpleDLL_WRCFLAGS = -p_Resource
[22072]635+
[22073]636+TEMPLATE_OdinCRT = OdinCRT DLL
637+TEMPLATE_OdinCRT_EXTENDS = OdinBin
638+TEMPLATE_OdinCRT_EXTENDS_BY = appending
639+TEMPLATE_OdinCRT_DEFS = __WINE__
640+TEMPLATE_OdinCRT_LIBS = $(PATH_STAGE_LIB)/initdll.lib
641+TEMPLATE_OdinCRT_LDFLAGS += KMK_NOIMPLIB # disable automatic implib
[22072]642+
[22073]643+TEMPLATE_OdinApp = Odin application
644+TEMPLATE_OdinApp_EXTENDS = OdinBin
[22072]645+
[22073]646+TEMPLATE_OdinTestApp = Odin application
647+TEMPLATE_OdinTestApp_EXTENDS= OdinApp
648+TEMPLATE_OdinTestApp_STAGE = tests/
[22072]649+
[22073]650+#------------------------------------------------------------------------------
651+# GCC Stuff
652+#------------------------------------------------------------------------------
[22072]653+
[22073]654+#------------------------------------------------------------------------------
655+# Other Stuff
656+#------------------------------------------------------------------------------
[22072]657+
[22073]658+#
659+# Include a site-specific config for local overrides
660+#
661+ifndef LOCALCFG
662+ LOCALCFG := $(wildcard $(PATH_ROOT)/LocalConfig.kmk)
663+ ifneq ($(LOCALCFG),)
664+ include $(LOCALCFG)
665+ endif
666+endif
[22072]667+
[22073]668+#------------------------------------------------------------------------------
669+# Post-processing
670+#------------------------------------------------------------------------------
[22072]671+
[22073]672+ifeq ($(PATH_TOOL_ALP),)
673+ifneq ($(PATH_SDK_OS2TK4),)
674+PATH_TOOL_ALP := $(PATH_SDK_OS2TK4)/bin/alp.exe
[22072]675+else
[22073]676+PATH_TOOL_ALP := alp.exe
677+endif
678+endif
[22072]679+
[22073]680+ifneq ($(PATH_SDK_OS2TK4),)
[22072]681+#
[22073]682+# We can't add Toolkit includes in _INCS (it will casuse then to be searched
683+# before GCC headers and lead to conflicts), so use -idirafter.
684+#
685+TEMPLATE_OdinCxx_CFLAGS += -idirafter $(PATH_SDK_OS2TK4)/h
686+TEMPLATE_OdinCxx_CXXFLAGS += -idirafter $(PATH_SDK_OS2TK4)/h
687+endif
688diff --git a/Makefile.kmk b/Makefile.kmk
689index 196c17a..3b13f74 100644
690--- a/Makefile.kmk
691+++ b/Makefile.kmk
692@@ -1,15 +1,15 @@
[22072]693-## @file
[22073]694-# Top-level makefile
[22072]695-#
696-
[22073]697-SUB_DEPTH = .
[22072]698-include $(KBUILD_PATH)/subheader.kmk
699-
700-#
[22073]701-# Include sub-makefiles.
702-#
703-include $(PATH_SUB_CURRENT)/lib/Makefile.kmk
704-include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
705-include $(PATH_SUB_CURRENT)/src/Makefile.kmk
[22072]706-
707-include $(FILE_KBUILD_SUB_FOOTER)
708+## @file
[22073]709+# Top-level makefile
[22072]710+#
711+
[22073]712+SUB_DEPTH = .
[22072]713+include $(KBUILD_PATH)/subheader.kmk
714+
715+#
[22073]716+# Include sub-makefiles.
[22072]717+#
[22073]718+include $(PATH_SUB_CURRENT)/lib/Makefile.kmk
719+include $(PATH_SUB_CURRENT)/tools/Makefile.kmk
720+include $(PATH_SUB_CURRENT)/src/Makefile.kmk
[22072]721+
722+include $(FILE_KBUILD_SUB_FOOTER)
Note: See TracBrowser for help on using the repository browser.