hdf5: fix for initialisation/finalisation.
[scilab.git] / scilab / modules / hdf5 / src / c / DllmainHdf5.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2009 - DIGITEO  -
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #include "gw_hdf5.h"
14
15 #ifdef _MSC_VER
16 #include <windows.h>
17
18 /*--------------------------------------------------------------------------*/
19 #pragma comment(lib,"../../../../bin/libintl.lib")
20 #pragma comment(lib,"../../../../bin/hdf5dll.lib")
21 #pragma comment(lib,"../../../../bin/hdf5_hldll.lib")
22 /*--------------------------------------------------------------------------*/
23 int WINAPI DllMain(HINSTANCE hinstDLL, DWORD flag, LPVOID reserved)
24 {
25     switch (flag)
26     {
27         case DLL_PROCESS_ATTACH :
28         {
29             Initialize();
30             break;
31         }
32         case DLL_PROCESS_DETACH :
33         {
34             Finalize();
35             break;
36         }
37         case DLL_THREAD_ATTACH :
38         {
39             break;
40         }
41         case DLL_THREAD_DETACH :
42         {
43             break;
44         }
45         default :
46         {
47             return 0;
48         }
49     }
50     return 1;
51 }
52 #else
53 void __attribute__ ((constructor)) load(void);
54 void __attribute__ ((destructor)) unload(void);
55
56 void load(void)
57 {
58     Initialize();
59 }
60
61 void unload(void)
62 {
63     Finalize();
64 }
65 #endif
66 /*--------------------------------------------------------------------------*/
67