Support to build Python module without pkg-config
authorKentaro Hayashi <kenhys@gmail.com>
Fri, 23 Feb 2024 11:27:25 +0000 (20:27 +0900)
committerKentaro Hayashi <kenhys@xdump.org>
Fri, 23 Feb 2024 11:23:45 +0000 (20:23 +0900)
Gbp-Pq: Name support-python-module-in-place.patch

python/setup.py

index d600321cf0d4b9a6da3bfaf38116ce37c0579496..43bd86802a0cbebefe4cc3392a04e8822f53afb1 100755 (executable)
@@ -77,15 +77,21 @@ 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:
-      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('./build/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')
+    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"]
 
     # Fix compile on some versions of Mac OSX
     # See: https://github.com/neulab/xnmt/issues/199
@@ -96,6 +102,7 @@ class build_ext(_build_ext):
       libs.append('-Wl,-strip-all')
     if sys.platform == 'linux':
       libs.append('-Wl,-Bsymbolic')
+
     print('## cflags={}'.format(' '.join(cflags)))
     print('## libs={}'.format(' '.join(libs)))
     ext.extra_compile_args = cflags