Ignore:
Timestamp:
Dec 18, 2011, 10:28:22 PM (14 years ago)
Author:
dmik
Message:

Merge branch gcc-kmk to trunk.

Location:
trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk

    • Property svn:ignore
      •  

        old new  
        1 bin
        2 Makefile.inc
         1env.cmd
         2LocalConfig.kmk
    • Property svn:mergeinfo set to
      /branches/gcc-kmkmergedeligible
  • trunk/src/custombuild/initterm.cpp

    r21581 r21916  
    77 *
    88 * Project Odin Software License can be found in LICENSE.TXT
    9  *
    109 */
    1110
    12 /*-------------------------------------------------------------*/
    13 /* INITERM.C -- Source for a custom dynamic link library       */
    14 /*              initialization and termination (_DLL_InitTerm) */
    15 /*              function.                                      */
    16 /*                                                             */
    17 /* When called to perform initialization, this sample function */
    18 /* gets storage for an array of integers, and initializes its  */
    19 /* elements with random integers.  At termination time, it     */
    20 /* frees the array.  Substitute your own special processing.   */
    21 /*-------------------------------------------------------------*/
    22 
    23 
    24 /* Include files */
     11//
     12// @todo Custom Build is broken ATM:
     13//
     14// 1. inittermXXX()/cleanupXXX() are now DLL_InitXXX/DLL_TermXXX
     15//    (see the respective initterm.cpp files for more info).
     16// 2. There is no inittermXXX.cpp files any longer (all initialization functions
     17//    are in XXX/initterm.cpp) so a define (e.g. CUSTOMBUILD) is necessary to
     18//    disable compilation multiple versions of DLL_Init()/DLL_Term().
     19// N. ...
     20//
     21
    2522#define  INCL_DOSMODULEMGR
    2623#define  INCL_DOSMISC
     
    5350extern "C" {
    5451
     52ULONG APIENTRY inittermKernel32(ULONG hModule);
     53void  APIENTRY cleanupKernel32(ULONG hModule);
     54
     55ULONG APIENTRY inittermUser32(ULONG hModule, ULONG ulFlag);
     56void  APIENTRY cleanupUser32(ULONG ulReason);
     57ULONG APIENTRY inittermOdinCtrl(ULONG hModule, ULONG ulFlag);
     58
     59ULONG APIENTRY inittermWinmm(ULONG hModule, ULONG ulFlag);
     60ULONG APIENTRY inittermShell32(ULONG hModule, ULONG ulFlag);
     61ULONG APIENTRY inittermOle32(ULONG hModule, ULONG ulFlag);
     62ULONG APIENTRY inittermComdlg32(ULONG hModule, ULONG ulFlag);
     63ULONG APIENTRY inittermComctl32(ULONG hModule, ULONG ulFlag);
     64ULONG APIENTRY inittermGdi32(ULONG hModule, ULONG ulFlag);
     65ULONG APIENTRY inittermNTDLL(ULONG hModule, ULONG ulFlag);
     66ULONG APIENTRY inittermWsock32(ULONG hModule, ULONG ulFlag);
     67ULONG APIENTRY inittermWininet(ULONG hModule, ULONG ulFlag);
     68ULONG APIENTRY inittermRpcrt4(ULONG hModule, ULONG ulFlag);
     69ULONG APIENTRY inittermAvifil32(ULONG hModule, ULONG ulFlag);
     70ULONG APIENTRY inittermQuartz(ULONG hModule, ULONG ulFlag);
     71ULONG APIENTRY inittermRiched32(ULONG hModule, ULONG ulFlag);
     72ULONG APIENTRY inittermWnaspi32(ULONG hModule, ULONG ulFlag);
     73ULONG APIENTRY inittermUxTheme(ULONG hModule, ULONG ulFlag);
     74ULONG APIENTRY inittermDInput(ULONG hModule, ULONG ulFlag);
     75ULONG APIENTRY inittermDSound(ULONG hModule, ULONG ulFlag);
     76ULONG APIENTRY inittermWinSpool(ULONG hModule, ULONG ulFlag);
     77ULONG APIENTRY inittermDDraw(ULONG hModule, ULONG ulFlag);
     78ULONG APIENTRY inittermNTDLL(ULONG hModule, ULONG ulFlag);
     79ULONG APIENTRY inittermMSVCRT(ULONG hModule, ULONG ulFlag);
     80ULONG APIENTRY inittermImm32(ULONG hModule, ULONG ulFlag);
     81ULONG APIENTRY inittermCrypt32(ULONG hModule, ULONG ulFlag);
     82ULONG APIENTRY inittermOleacc(ULONG hModule, ULONG ulFlag);
     83ULONG APIENTRY inittermmscms(ULONG hModule, ULONG ulFlag);
     84ULONG APIENTRY inittermRsaenh(ULONG hModule, ULONG ulFlag);
     85ULONG APIENTRY inittermSecur32(ULONG hModule, ULONG ulFlag);
     86
    5587/*-------------------------------------------------------------------*/
    5688/* A clean up routine registered with DosExitList must be used if    */
     
    70102/* calling this function.                                                   */
    71103/****************************************************************************/
    72 ULONG DLLENTRYPOINT_CCONV DLLENTRYPOINT_NAME(ULONG hModule, ULONG ulFlag)
     104ULONG SYSTEM _DLL_InitTerm(ULONG hModule, ULONG ulFlag)
    73105{
    74106   size_t i;
     
    140172         SetCustomBuildName("KERNEL32.DLL", ORDINALBASE_KERNEL32);
    141173         rc = inittermKernel32(hModule, ulFlag);
    142          if(rc == 0) 
     174         if(rc == 0)
    143175             return 0UL;
    144176
    145177         SetCustomBuildName("USER32.DLL", ORDINALBASE_USER32);
    146178         rc = inittermUser32(hModule, ulFlag);
    147          if(rc == 0) 
     179         if(rc == 0)
    148180                return 0UL;
    149181
     
    156188            return 0UL;
    157189
    158          SetCustomBuildName("VERSION.DLL", 0);       
     190         SetCustomBuildName("VERSION.DLL", 0);
    159191         if(RegisterLxDll(hModule, NULL, (PVOID)NULL) == 0)
    160192            return 0UL;
     
    162194         SetCustomBuildName("WSOCK32.DLL", ORDINALBASE_WSOCK32);
    163195         rc = inittermWsock32(hModule, ulFlag);
    164          if(rc == 0) 
     196         if(rc == 0)
    165197                return 0UL;
    166198
    167199         SetCustomBuildName("WINMM.DLL", 0);
    168200         rc = inittermWinmm(hModule, ulFlag);
    169          if(rc == 0) 
     201         if(rc == 0)
    170202                return 0UL;
    171203
    172204         SetCustomBuildName("RPCRT4.DLL", 0);
    173205         rc = inittermRpcrt4(hModule, ulFlag);
    174          if(rc == 0) 
     206         if(rc == 0)
    175207                return 0UL;
    176208
    177209         SetCustomBuildName("OLE32.DLL", ORDINALBASE_OLE32);
    178210         rc = inittermOle32(hModule, ulFlag);
    179          if(rc == 0) 
     211         if(rc == 0)
    180212                return 0UL;
    181213
    182214         SetCustomBuildName("COMCTL32.DLL", ORDINALBASE_COMCTL32);
    183215         rc = inittermComctl32(hModule, ulFlag);
    184          if(rc == 0) 
     216         if(rc == 0)
    185217                return 0UL;
    186218
     
    191223         SetCustomBuildName("SHELL32.DLL", ORDINALBASE_SHELL32);
    192224         rc = inittermShell32(hModule, ulFlag);
    193          if(rc == 0) 
     225         if(rc == 0)
    194226                return 0UL;
    195227
    196228         SetCustomBuildName("COMDLG32.DLL", 0);
    197229         rc = inittermComdlg32(hModule, ulFlag);
    198          if(rc == 0) 
     230         if(rc == 0)
    199231                return 0UL;
    200232
    201233         SetCustomBuildName("RICHED32.DLL", 0);
    202234         rc = inittermRiched32(hModule, ulFlag);
    203          if(rc == 0) 
    204                 return 0UL;
    205          
     235         if(rc == 0)
     236                return 0UL;
     237
    206238         SetCustomBuildName(NULL, 0);
    207239         break;
     
    246278ULONG APIENTRY O32__DLL_InitTerm(ULONG handle, ULONG flag);
    247279//******************************************************************************
    248 ULONG APIENTRY InitializeKernel32()
     280BOOL APIENTRY InitializeKernel32()
    249281{
    250282    HMODULE hModule;
    251283
    252284    DosQueryModuleHandleStrict("WGSS50", &hModule);
    253     return O32__DLL_InitTerm(hModule, 0);
     285    return O32__DLL_InitTerm(hModule, 0) != 0;
    254286}
    255287//******************************************************************************
Note: See TracChangeset for help on using the changeset viewer.