1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-12-25 04:43:33 +00:00

Improve the configure script and add a knob to use another version of

Python than 1.5. (Currently this module only works with 1.5 though)

Feedback status:	submitted to the author
This commit is contained in:
Akinori MUSHA 2000-09-10 20:13:12 +00:00
parent 192e2265a6
commit 7d9b1f28c4
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=32497
2 changed files with 88 additions and 12 deletions

View File

@ -15,22 +15,20 @@ DIST_SUBDIR= ruby
MAINTAINER= knu@FreeBSD.org
PYTHON_VERSION= python1.5
PYTHON_VERSION?= python1.5
USE_RUBY= yes
USE_RUBY_EXTCONF= yes
WRKSRC= ${WRKDIR}/${PORTNAME}
CONFIGURE_ARGS= --with-python="${PYTHON_VERSION}" --with-pthread
INSTALL_TARGET= site-install
post-configure:
${PERL} -i -pe 's/-lc\b/-lc_r/g' ${WRKSRC}/Makefile
post-install:
.if !defined(NOPORTDOCS)
${MKDIR} ${RUBY_EXAMPLESDIR}/python/Lib
${MKDIR} ${RUBY_EXAMPLESDIR}/python
${CP} -R ${WRKSRC}/examples/ ${RUBY_EXAMPLESDIR}/python/
${MKDIR} ${RUBY_DOCDIR}/python/ja
cd ${WRKSRC}/examples; find . -exec ${INSTALL_DATA} {} ${RUBY_EXAMPLESDIR}/python/{} \;
${INSTALL_DATA} ${WRKSRC}/ChangeLog ${WRKSRC}/README ${WRKSRC}/doc/* \
${RUBY_DOCDIR}/python/
${INSTALL_DATA} ${WRKSRC}/README.ja ${WRKSRC}/doc-ja/* \

View File

@ -1,11 +1,89 @@
--- extconf.rb.orig Sun Nov 7 15:38:30 1999
+++ extconf.rb Mon Aug 7 12:34:46 2000
@@ -29,7 +30,7 @@
exit(1) unless File.exists? py_makefile
--- extconf.rb.orig Mon Sep 11 01:14:42 2000
+++ extconf.rb Mon Sep 11 04:31:30 2000
@@ -1,35 +1,41 @@
require 'mkmf'
$CFLAGS = "-I#{py_includedir}"
-py_dir = with_config("python-dir")
-if py_dir
- dirs = [py_dir]
+python = with_config("python", "python1.5")
+python = `which #{python}`.chomp
+
+exit(1) unless File.executable? python
+
+py_name = File.basename(python)
+py_dir = `#{python} -c 'import sys; print sys.exec_prefix' < /dev/null`.split(/\n/)[0]
+
+exit(1) unless File.directory? py_dir
+
+py_includedir = py_dir + "/include/" + py_name
+py_libdir = py_dir + "/lib/" + py_name
+py_configdir = py_libdir + "/config"
+py_makefile = py_configdir + "/Makefile"
+
+print "checking for #{py_makefile}... "
+if File.exists? py_makefile
+ print "yes\n"
else
- dirs = ['/usr/local', '/usr']
- if File.executable? `which python`.chomp
- d = `python -c 'import sys; print sys.exec_prefix' < /dev/null`
- d = d.split(/\n/).shift
- dirs.unshift d if d and File.directory? d
- end
+ print "no\n"
+ exit(1)
end
-for py_dir in dirs
- py_includedir = py_dir + "/include/python1.5"
- py_libdir = py_dir + "/lib/python1.5"
- py_configdir = py_libdir + "/config"
- py_makefile = py_configdir + "/Makefile"
+$CFLAGS += " -I#{py_includedir}"
+$LDFLAGS += " -L#{py_configdir}"
- print "checking for #{py_makefile}... "
- if File.exists? py_makefile
- print "yes\n"
- break
- else
- print "no\n"
+if with_config("pthread")
+ if !have_library("pthread", "pthread_create")
+ $LDFLAGS += " -pthread"
+ $libs.sub!(/-lc\b/, '-lc_r')
+
+ if !have_func("pthread_create")
+ exit(1)
+ end
end
end
-exit(1) unless File.exists? py_makefile
-
-$CFLAGS = "-I#{py_includedir}"
-$LDFLAGS = "-L#{py_configdir}"
+$LDFLAGS = "-L#{py_configdir} -pthread"
# If python is linked with extra libraries (e.g. -lpthread on Linux,
# -lsocket on Solaris, etc.), have_library test will fail and built
@@ -59,11 +65,13 @@
end
$LOCAL_LIBS << py_extralibs
-if have_library("python1.5", "Py_Initialize") && have_header("Python.h")
- # If DEBUG defined, you need python compiled with Py_DEBUG defined,
- # like as building python with "make OPT='-g -O2 -DPy_DEBUG'"
- if have_func('_Py_NewReference')
- $CFLAGS += " -DDEBUG"
- end
- create_makefile("python")
+if !have_library(py_name, "Py_Initialize") || !have_header("Python.h")
+ exit(1)
+end
+
+# If DEBUG defined, you need python compiled with Py_DEBUG defined,
+# like as building python with "make OPT='-g -O2 -DPy_DEBUG'"
+if have_func('_Py_NewReference')
+ $CFLAGS += " -DDEBUG"
end
+create_makefile("python")