hack pour que la lib sdl soit bien installée.
[minwii.git] / setup_win_exe.py
index de4ccd9..0f29257 100755 (executable)
@@ -1,3 +1,4 @@
+# -*- coding: utf-8 -*-
 # This will create a dist directory containing the executable file, all the data
 # directories. All Libraries will be bundled in executable file.
 #
 # This will create a dist directory containing the executable file, all the data
 # directories. All Libraries will be bundled in executable file.
 #
@@ -17,6 +18,15 @@ try:
 except ImportError, message:
     raise SystemExit,  "Unable to load module. %s" % message
 
 except ImportError, message:
     raise SystemExit,  "Unable to load module. %s" % message
 
+
+origIsSystemDLL = py2exe.build_exe.isSystemDLL
+def isSystemDLL(pathname):
+    if os.path.basename(pathname).lower() in ["sdl_ttf.dll"]:
+        return 0
+    return origIsSystemDLL(pathname)
+py2exe.build_exe.isSystemDLL = isSystemDLL
+
+
 class pygame2exe(py2exe.build_exe.py2exe): #This hack make sure that pygame default font is copied: no need to modify code for specifying default font
     def copy_extensions(self, extensions):
         #Get pygame default font
 class pygame2exe(py2exe.build_exe.py2exe): #This hack make sure that pygame default font is copied: no need to modify code for specifying default font
     def copy_extensions(self, extensions):
         #Get pygame default font
@@ -30,10 +40,10 @@ class pygame2exe(py2exe.build_exe.py2exe): #This hack make sure that pygame defa
 class BuildExe:
     def __init__(self):
         #Name of starting .py
 class BuildExe:
     def __init__(self):
         #Name of starting .py
-        self.script = "MyApps.py"
+        self.script = "src/minwii/start_win.py"
 
         #Name of program
 
         #Name of program
-        self.project_name = "MyApps"
+        self.project_name = "MINWii"
 
         #Project url
         self.project_url = "about:none"
 
         #Project url
         self.project_url = "about:none"
@@ -109,6 +119,10 @@ class BuildExe:
         if os.path.isdir(self.dist_dir): #Erase previous destination dir
             shutil.rmtree(self.dist_dir)
         
         if os.path.isdir(self.dist_dir): #Erase previous destination dir
             shutil.rmtree(self.dist_dir)
         
+        if os.path.isdir('build'): #Clean up build dir
+            shutil.rmtree('build')
+        
+        
         #Use the default pygame icon, if none given
         if self.icon_file == None:
             path = os.path.split(pygame.__file__)[0]
         #Use the default pygame icon, if none given
         if self.icon_file == None:
             path = os.path.split(pygame.__file__)[0]
@@ -122,6 +136,7 @@ class BuildExe:
             else:
                 extra_datas.append(('.', [data]))
         
             else:
                 extra_datas.append(('.', [data]))
         
+
         setup(
             cmdclass = {'py2exe': pygame2exe},
             version = self.project_version,
         setup(
             cmdclass = {'py2exe': pygame2exe},
             version = self.project_version,
@@ -138,19 +153,23 @@ class BuildExe:
                 'icon_resources': [(0, self.icon_file)],
                 'copyright': self.copyright
             }],
                 'icon_resources': [(0, self.icon_file)],
                 'copyright': self.copyright
             }],
-            options = {'py2exe': {'optimize': 2, 'bundle_files': 1, 'compressed': True, \
-                                  'excludes': self.exclude_modules, 'packages': self.extra_modules, \
-                                  'dll_excludes': self.exclude_dll} },
+            options = {'py2exe': {#'optimize': 2,
+                                  'bundle_files': 1,
+                                  #'compressed': True,
+                                  'excludes': self.exclude_modules,
+                                  'packages': self.extra_modules,
+                                  'dll_excludes': self.exclude_dll}
+                      },
             zipfile = self.zipfile_name,
             data_files = extra_datas,
             dist_dir = self.dist_dir
             )
         
             zipfile = self.zipfile_name,
             data_files = extra_datas,
             dist_dir = self.dist_dir
             )
         
-        if os.path.isdir('build'): #Clean up build dir
-            shutil.rmtree('build')
+        #if os.path.isdir('build'): #Clean up build dir
+        #    shutil.rmtree('build')
 
 if __name__ == '__main__':
     if operator.lt(len(sys.argv), 2):
         sys.argv.append('py2exe')
     BuildExe().run() #Run generation
 
 if __name__ == '__main__':
     if operator.lt(len(sys.argv), 2):
         sys.argv.append('py2exe')
     BuildExe().run() #Run generation
-    raw_input("Press any key to continue") #Pause to let user see that things ends
+    #raw_input("Press any key to continue") #Pause to let user see that things ends