Support to build Python module without pkg-config
authorKentaro Hayashi <kenhys@gmail.com>
Tue, 14 Jun 2022 11:24:13 +0000 (20:24 +0900)
committerKentaro Hayashi <kenhys@xdump.org>
Tue, 14 Jun 2022 11:51:50 +0000 (12:51 +0100)
Gbp-Pq: Name support-python-module-in-place.patch

python/setup.py

index cfbf0dbebae25f896213c4e8e35ca203b78c1754..cebcf29fc744e8845c5ea96a766023a96b0456cc 100755 (executable)
@@ -77,22 +77,26 @@ class build_ext(_build_ext):
   """Override build_extension to run cmake."""
 
   def build_extension(self, ext):
-    cflags, libs = get_cflags_and_libs('../build/root')
-    if len(libs) == 0:
-      cflags, libs = get_cflags_and_libs('./bundled/root')
-
-    if len(libs) == 0:
-      if is_sentencepiece_installed():
-        cflags = cflags + run_pkg_config('cflags')
-        libs = run_pkg_config('libs')
-      else:
-        subprocess.check_call(['./build_bundled.sh', __version__])
-        cflags, libs = get_cflags_and_libs('./bundled/root')
+    cflags, libs = get_cflags_and_libs('../build/root')
+    if len(libs) == 0:
+      cflags, libs = get_cflags_and_libs('./bundled/root')
+
+    if len(libs) == 0:
+      if is_sentencepiece_installed():
+        cflags = cflags + run_pkg_config('cflags')
+        libs = run_pkg_config('libs')
+      else:
+        subprocess.check_call(['./build_bundled.sh', __version__])
+        cflags, libs = get_cflags_and_libs('./bundled/root')
 
     # Fix compile on some versions of Mac OSX
     # See: https://github.com/neulab/xnmt/issues/199
     if sys.platform == 'darwin':
       cflags.append('-mmacosx-version-min=10.9')
+    cflags = ['-I../src']
+    cmd = "dpkg-architecture -q DEB_BUILD_GNU_TYPE"
+    arch = subprocess.check_output(cmd, shell=True).decode("utf-8").strip().split()[0]
+    libs = ["-L../obj-%s/src" % arch, "-lsentencepiece", "-lsentencepiece_train"]
     print('## cflags={}'.format(' '.join(cflags)))
     print('## libs={}'.format(' '.join(libs)))
     ext.extra_compile_args = cflags