- Timestamp:
- Dec 2, 2011, 2:25:06 PM (14 years ago)
- Location:
- branches/gcc-kmk
- Files:
-
- 1 added
- 3 deleted
- 5 edited
-
Config.kmk (modified) (4 diffs)
-
src/Makefile.kmk (modified) (2 diffs)
-
src/dllentry/Makefile.kmk (added)
-
src/dllentry/dllentry.cpp (modified) (2 diffs)
-
src/dllentry/makefile (deleted)
-
src/winmm/mcicda/Makefile.kmk (modified) (2 diffs)
-
src/winmm/mcicda/initterm.cpp (deleted)
-
src/winmm/mciwave/Makefile.kmk (modified) (1 diff)
-
src/winmm/mciwave/initterm.cpp (deleted)
Legend:
- Unmodified
- Added
- Removed
-
branches/gcc-kmk/Config.kmk
r21830 r21842 135 135 $(kb-src-one 2) 136 136 endef 137 PROPS_ACCUMULATE_R += WRCFLAGS 137 138 138 139 # … … 144 145 $(kb-src-one 2) 145 146 endef 147 PROPS_ACCUMULATE_R += $(if $(TOOL_$(tool)_COMPILE_MASM_CMDS),MASM,AS)FLAGS 146 148 147 149 #------------------------------------------------------------------------------ … … 154 156 TOOL_GXX3OMF_WRC = $(PATH_STAGE_BIN)/winerc.exe 155 157 TOOL_GXX3OMF_WRCOBJSUFF = $(TOOL_GXX3OMF_COBJSUFF) 158 TOOL_GXX3OMF_WRCFLAGS = 156 159 TOOL_GXX3OMF_COMPILE_WRC_OUTPUT = $(outbase).orc.s 157 160 TOOL_GXX3OMF_COMPILE_WRC_DEPEND = $(TOOL_GXX3OMF_WRC) 158 161 TOOL_GXX3OMF_COMPILE_WRC_DEPORD = 159 162 define TOOL_GXX3OMF_COMPILE_WRC_CMDS 160 $(QUIET)$(TOOL_GXX3OMF_WRC) -s - p _$(target) -I$(subst /,\\,$(abspath $(dir $(source))))\163 $(QUIET)$(TOOL_GXX3OMF_WRC) -s -I$(subst /,\\,$(abspath $(dir $(source))))\ 161 164 $(flags) $(addprefix -I, $(subst /,\\,$(incs))) $(addprefix -D, $(defs))\ 162 165 $(subst /,\\,$(abspath $(source))) \ 163 166 -o $(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT) 164 167 $(QUIET)$(TOOL_GXX3OMF_CC) -E -I$(subst /,\\,$(abspath $(dir $(source))))\ 165 $( flags) $(addprefix -I, $(incs)) -I . $(addprefix -D, $(defs))\168 $(addprefix -I, $(incs)) -I . $(addprefix -D, $(defs))\ 166 169 -x c $(abspath $(source)) \ 167 170 | $(DEP_PRE) -f -s -o $(dep) -t $(obj) - 168 $(subst $(source),$(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT),$(TOOL_GXX3OMF_COMPILE_AS_CMDS)) 171 $(subst $(source),$(TOOL_GXX3OMF_COMPILE_WRC_OUTPUT),\ 172 $(subst $(flags),,$(TOOL_GXX3OMF_COMPILE_AS_CMDS))) 169 173 endef 170 174 … … 208 212 TEMPLATE_OdinDLL_LIBS = $(PATH_STAGE_LIB)/odincrt.lib \ 209 213 $(PATH_STAGE_LIB)/initdll.lib 214 TEMPLATE_OdinDLL_WRCFLAGS = -p_$(target) 215 216 TEMPLATE_OdinSimpleDLL = Odin DLL with ordinary entry point 217 TEMPLATE_OdinSimpleDLL_EXTENDS = OdinDLL 218 TEMPLATE_OdinSimpleDLL_EXTENDS_BY = overriding 219 TEMPLATE_OdinSimpleDLL_LIBS = $(PATH_STAGE_LIB)/dllentry.o $(TEMPLATE_OdinDLL_LIBS) 220 TEMPLATE_OdinSimpleDLL_WRCFLAGS = -p_Resource 210 221 211 222 TEMPLATE_OdinCRT = OdinCRT DLL -
branches/gcc-kmk/src/Makefile.kmk
r21840 r21842 10 10 # 11 11 include $(PATH_SUB_CURRENT)/initdll/Makefile.kmk 12 include $(PATH_SUB_CURRENT)/dllentry/Makefile.kmk 12 13 include $(PATH_SUB_CURRENT)/libwrap/Makefile.kmk 13 14 include $(PATH_SUB_CURRENT)/guidlib/Makefile.kmk … … 21 22 include $(PATH_SUB_CURRENT)/imm32/Makefile.kmk 22 23 include $(PATH_SUB_CURRENT)/comctl32/Makefile.kmk 24 include $(PATH_SUB_CURRENT)/winmm/Makefile.kmk 23 25 24 26 include $(FILE_KBUILD_SUB_FOOTER) -
branches/gcc-kmk/src/dllentry/dllentry.cpp
r21727 r21842 2 2 3 3 /* 4 * DLL entry point4 * Ordinary DLL entry point 5 5 * 6 6 * Copyright 1998 Sander van Leeuwen 7 7 * Copyright 1998 Peter Fitzsimmons 8 8 * 9 *10 9 * Project Odin Software License can be found in LICENSE.TXT 11 *12 10 */ 13 11 14 /*-------------------------------------------------------------*/15 /* INITERM.C -- Source for a custom dynamic link library */16 /* initialization and termination (_DLL_InitTerm) */17 /* function. */18 /* */19 /* When called to perform initialization, this sample function */20 /* gets storage for an array of integers, and initializes its */21 /* elements with random integers. At termination time, it */22 /* frees the array. Substitute your own special processing. */23 /*-------------------------------------------------------------*/24 25 26 /* Include files */27 12 #define INCL_DOSMODULEMGR 28 13 #define INCL_DOSPROCESS … … 38 23 #include <initdll.h> 39 24 40 extern "C" { 41 //Win32 resource table (produced by wrc) 42 extern DWORD _Resource_PEResTab; 43 } 25 // Win32 resource table (produced by wrc) 26 extern DWORD Resource_PEResTab; 44 27 45 28 static HMODULE dllHandle = 0; 46 29 47 //****************************************************************************** 48 //****************************************************************************** 49 BOOL WINAPI OdinLibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) 30 #if 0 31 32 // Not currently needed 33 34 BOOL WINAPI LibMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad) 50 35 { 51 switch (fdwReason)52 {53 case DLL_PROCESS_ATTACH:54 return TRUE;36 switch (fdwReason) 37 { 38 case DLL_PROCESS_ATTACH: 39 return TRUE; 55 40 56 case DLL_THREAD_ATTACH:57 case DLL_THREAD_DETACH:58 return TRUE;41 case DLL_THREAD_ATTACH: 42 case DLL_THREAD_DETACH: 43 return TRUE; 59 44 60 case DLL_PROCESS_DETACH: 61 #ifdef __IBMCPP__ 62 ctordtorTerm(); 63 #endif 64 return TRUE; 65 } 66 return FALSE; 45 case DLL_PROCESS_DETACH: 46 return TRUE; 47 } 48 49 return FALSE; 67 50 } 68 51 52 #endif 69 53 70 #ifdef __IBMCPP__ 54 ULONG SYSTEM DLL_Init(ULONG hModule) 55 { 56 if (DLL_InitDefault(hModule) == -1) 57 return -1; 71 58 72 /****************************************************************************/ 73 /* _DLL_InitTerm is the function that gets called by the operating system */ 74 /* loader when it loads and frees this DLL for each process that accesses */ 75 /* this DLL. However, it only gets called the first time the DLL is loaded */ 76 /* and the last time it is freed for a particular process. The system */ 77 /* linkage convention MUST be used because the operating system loader is */ 78 /* calling this function. */ 79 /****************************************************************************/ 80 ULONG SYSTEM _DLL_InitTerm(ULONG hModule, ULONG ulFlag) 81 { 82 /*-------------------------------------------------------------------------*/ 83 /* If ulFlag is zero then the DLL is being loaded so initialization should */ 84 /* be performed. If ulFlag is 1 then the DLL is being freed so */ 85 /* termination should be performed. */ 86 /*-------------------------------------------------------------------------*/ 59 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 60 dllHandle = RegisterLxDll(hModule, NULL, (PVOID)&Resource_PEResTab); 61 if (dllHandle == 0) 62 return -1; 87 63 88 switch (ulFlag) 89 { 90 case 0: 91 ctordtorInit(); 92 CheckVersionFromHMOD(PE2LX_VERSION, hModule); /*PLF Wed 98-03-18 05:28:48*/ 93 dllHandle = RegisterLxDll(hModule, OdinLibMain, (PVOID)&_Resource_PEResTab); 94 if (dllHandle == 0) 95 return 0UL; 96 break; 97 98 case 1: 99 if (dllHandle) 100 UnregisterLxDll(dllHandle); 101 break; 102 103 default: 104 return 0UL; 105 } 106 107 /***********************************************************/ 108 /* A non-zero value must be returned to indicate success. */ 109 /***********************************************************/ 110 return 1UL; 111 } 112 #elif defined(__WATCOM_CPLUSPLUS__) 113 /* 114 * Watcom dll init and term routines. 115 */ 116 117 int __dll_initialize(unsigned long hModule, unsigned long ulFlag) 118 { 119 CheckVersionFromHMOD(PE2LX_VERSION, hModule); 120 dllHandle = RegisterLxDll(hModule, OdinLibMain, (PVOID)&_Resource_PEResTab); 121 if (dllHandle == 0) 122 return 0; 123 return 1; 64 return 0; 124 65 } 125 66 126 int __dll_terminate(unsigned long hModule, unsigned long ulFlag)67 void SYSTEM DLL_Term(ULONG hModule) 127 68 { 128 if (dllHandle)69 if(dllHandle) 129 70 UnregisterLxDll(dllHandle); 130 return 1; 71 72 DLL_TermDefault(hModule); 131 73 } 132 133 #else134 #error message("compiler is not supported!\n");135 #endif -
branches/gcc-kmk/src/winmm/mcicda/Makefile.kmk
r21841 r21842 9 9 10 10 DLLS += mcicda 11 mcicda_TEMPLATE = Odin DLL11 mcicda_TEMPLATE = OdinSimpleDLL 12 12 13 13 mcicda_SOURCES = \ … … 15 15 cdrom.cpp \ 16 16 os2cdrom.cpp \ 17 initterm.cpp \18 17 mcicdarsrc.orc \ 19 18 mcicda.def -
branches/gcc-kmk/src/winmm/mciwave/Makefile.kmk
r21841 r21842 9 9 10 10 DLLS += mciwave 11 mciwave_TEMPLATE = Odin DLL11 mciwave_TEMPLATE = OdinSimpleDLL 12 12 13 13 mciwave_SOURCES = \ 14 14 mciwave.c \ 15 initterm.cpp \16 15 mciwaversrc.orc \ 17 16 mciwave.def
Note:
See TracChangeset
for help on using the changeset viewer.
