Skip to content

Commit 37af49f

Browse files
committed
Change MSI builds to support /MD compiler option
1 parent c1473da commit 37af49f

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

cpyint

lib/cpy_distutils.py

Lines changed: 24 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -314,33 +314,35 @@ def _copy_vendor_libraries(self):
314314
return
315315

316316
data_files = []
317+
vendor_libs = []
317318

318319
if os.name == "nt":
319-
openssl_libs = ["ssleay32.dll", "libeay32.dll"]
320-
vendor_folder = ""
321320
mysql_capi = os.path.join(self.with_mysql_capi, "bin")
321+
vendor_libs.append((mysql_capi, ["ssleay32.dll", "libeay32.dll"]))
322+
vendor_folder = ""
322323
# Bundle libmysql.dll
323324
src = os.path.join(self.with_mysql_capi, "lib", "libmysql.dll")
324325
dst = os.getcwd()
325326
log.info("copying {0} -> {1}".format(src, dst))
326327
shutil.copy(src, dst)
327328
data_files.append("libmysql.dll")
328329
else:
329-
openssl_libs = self._get_posix_openssl_libs()
330-
vendor_folder = "mysql-vendor"
331330
mysql_capi = os.path.join(self.with_mysql_capi, "lib")
331+
vendor_libs.append((mysql_capi, self._get_posix_openssl_libs()))
332+
vendor_folder = "mysql-vendor"
332333

333334
if vendor_folder:
334335
mkpath(os.path.join(os.getcwd(), vendor_folder))
335336

336-
# Copy OpenSSL libraries to 'mysql-vendor' folder
337-
log.info("Copying OpenSSL libraries")
338-
for filename in openssl_libs:
339-
data_files.append(os.path.join(vendor_folder, filename))
340-
src = os.path.join(mysql_capi, filename)
341-
dst = os.path.join(os.getcwd(), vendor_folder)
342-
log.info("copying {0} -> {1}".format(src, dst))
343-
shutil.copy(src, dst)
337+
# Copy vendor libraries to 'mysql-vendor' folder
338+
log.info("Copying vendor libraries")
339+
for src_folder, files in vendor_libs:
340+
for filename in files:
341+
data_files.append(os.path.join(vendor_folder, filename))
342+
src = os.path.join(src_folder, filename)
343+
dst = os.path.join(os.getcwd(), vendor_folder)
344+
log.info("copying {0} -> {1}".format(src, dst))
345+
shutil.copy(src, dst)
344346
# Add data_files to distribution
345347
self.distribution.data_files = [(vendor_folder, data_files)]
346348

@@ -693,6 +695,16 @@ def run(self):
693695
self.byte_compile(outfiles)
694696

695697
if self.byte_code_only:
698+
if get_python_version().startswith("3"):
699+
for base, _, files in os.walk(self.install_dir):
700+
for filename in files:
701+
if filename.endswith(".pyc"):
702+
new_name = "{0}.pyc".format(filename.split(".")[0])
703+
os.rename(os.path.join(base, filename),
704+
os.path.join(base, "..", new_name))
705+
for base, _, files in os.walk(self.install_dir):
706+
if base.endswith("__pycache__"):
707+
os.rmdir(base)
696708
for source_file in outfiles:
697709
log.info("Removing %s", source_file)
698710
os.remove(source_file)

0 commit comments

Comments
 (0)