summaryrefslogtreecommitdiff
path: root/lang/ecl
diff options
context:
space:
mode:
authorAlejandro Pulver <alepulver@FreeBSD.org>2006-06-25 22:41:56 +0000
committerAlejandro Pulver <alepulver@FreeBSD.org>2006-06-25 22:41:56 +0000
commit7a51fc9f8adebb4b33f3c1cf0eef14f9c71a71e8 (patch)
tree7bc0790012db5f9525fc10e06794f12b4ce7aaf3 /lang/ecl
parentTemporarily remove ekiga until it can be updated for the latest pwlib. (diff)
- Add OPTIONS.
- Avoid installing the GNU license. - Fix building on !i386. PR: 99439 Approved by: maintainer
Notes
Notes: svn path=/head/; revision=166332
Diffstat (limited to 'lang/ecl')
-rw-r--r--lang/ecl/Makefile76
-rw-r--r--lang/ecl/files/patch-src__doc__Makefile.in23
-rw-r--r--lang/ecl/files/patch-src__gc__include__private__gcconfig.h95
-rw-r--r--lang/ecl/pkg-plist42
4 files changed, 201 insertions, 35 deletions
diff --git a/lang/ecl/Makefile b/lang/ecl/Makefile
index 03955c0aaeb0..5d7e1832e1d9 100644
--- a/lang/ecl/Makefile
+++ b/lang/ecl/Makefile
@@ -17,23 +17,73 @@ COMMENT= An ANSI Common Lisp implementation
LIB_DEPENDS= gmp.7:${PORTSDIR}/math/libgmp4
-INSTALLS_SHLIB= yes
-LDCONFIG_DIRS= %%PREFIX%%/lib/ecl
+USE_GMAKE= yes
+USE_PERL5_BUILD=yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS= --with-system-gmp --with-cmuformat=yes --enable-boehm=included
+CONFIGURE_ENV= CPPFLAGS="${CPPFLAGS}" LDFLAGS="${LDFLAGS}"
+CPPFLAGS= -I${LOCALBASE}/include
+LDFLAGS= -L${LOCALBASE}/lib
-# It should build and run on 64-bit architectures,
-# but it is completely untested.
-ONLY_FOR_ARCHS= i386
+OPTIONS= ASDF "Enable ASDF building facility" on \
+ CLOS_STREAMS "Enable user defined stream objects" on \
+ CLX "Enable X11 interface" off \
+ SOCKETS "Enable socket interface" on \
+ THREADS "Enable threading support" off
MAN1= ecl.1
INFO= ecl ecldev
-USE_GMAKE= YES
-USE_PERL5_BUILD=yes
-GNU_CONFIGURE= YES
-CONFIGURE_ARGS= --with-asdf --with-tcp --with-system-gmp --enable-boehm=included
+INSTALLS_SHLIB= yes
+LDCONFIG_DIRS= %%PREFIX%%/lib/ecl
+
+.include <bsd.port.pre.mk>
+
+.if !defined(WITHOUT_ASDF)
+CONFIGURE_ARGS+=--with-asdf=yes
+PLIST_SUB+= ASDF=""
+.else
+CONFIGURE_ARGS+=--with-asdf=no
+PLIST_SUB+= ASDF="@comment "
+.endif
+
+.if !defined(WITHOUT_CLOS_STREAMS)
+CONFIGURE_ARGS+=--with-clos-streams=yes
+PLIST_SUB+= CLOS_STREAMS=""
+.else
+CONFIGURE_ARGS+=--with-clos-streams=no
+PLIST_SUB+= CLOS_STREAMS="@comment "
+.endif
+
+.if defined(WITH_CLX)
+USE_XLIB= yes
+CONFIGURE_ARGS+=--with-clx=yes
+INFO+= clx
+PLIST_SUB+= CLX=""
+.else
+CONFIGURE_ARGS+=--with-clx=no
+PLIST_SUB+= CLX="@comment "
+.endif
+
+.if !defined(WITHOUT_SOCKETS)
+CONFIGURE_ARGS+=--with-tcp=yes
+PLIST_SUB+= SOCKETS=""
+.else
+CONFIGURE_ARGS+=--with-tcp=no
+PLIST_SUB+= SOCKETS="@comment "
+.endif
+
+.if defined(WITH_THREADS)
+CONFIGURE_ARGS+=--enable-threads=yes
+LDFLAGS+= ${PTHREAD_LIBS}
+.else
+CONFIGURE_ARGS+=--enable-threads=no
+.endif
-# We need to tell ECL where to find the GMP includes
-# and libraries.
-CONFIGURE_ENV= LDFLAGS=-L${PREFIX}/lib CFLAGS=-I${PREFIX}/include
+.if defined(WITH_THREADS)
+post-patch:
+ @${REINPLACE_CMD} -e 's|_NP[[:>:]]||' \
+ ${WRKSRC}/src/c/package.d ${WRKSRC}/src/c/threads.d
+.endif
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/lang/ecl/files/patch-src__doc__Makefile.in b/lang/ecl/files/patch-src__doc__Makefile.in
new file mode 100644
index 000000000000..499caa8e3afe
--- /dev/null
+++ b/lang/ecl/files/patch-src__doc__Makefile.in
@@ -0,0 +1,23 @@
+--- ./src/doc/Makefile.in.orig Fri Aug 12 13:26:42 2005
++++ ./src/doc/Makefile.in Sat Jun 24 22:59:42 2006
+@@ -51,10 +51,6 @@
+ $(INSTALL_INFO) --info-dir=$(DESTDIR)$(infodir) $$k; \
+ fi; \
+ done
+- $(mkinstalldirs) $(DESTDIR)$(docdir)
+- for i in Copyright LGPL; do \
+- $(INSTALL_DATA) $(top_srcdir)/../$$i $(DESTDIR)$(docdir); \
+- done
+ $(mkinstalldirs) $(DESTDIR)$(mandir)/man$(manext)
+ $(INSTALL_DATA) ecl.man $(DESTDIR)$(mandir)/man$(manext)/ecl.$(manext)
+ flatinstall: all $(HTML_FILES)
+@@ -72,9 +68,6 @@
+ $(mkinstalldirs) $(DESTDIR)$(docdir)/ecldev; \
+ for i in ecldev/*; do $(INSTALL_DATA) $$i $(DESTDIR)$(docdir)/ecldev/; done; \
+ fi
+- for i in Copyright LGPL; do \
+- $(INSTALL_DATA) $(top_srcdir)/../$$i $(DESTDIR)$(docdir); \
+- done
+ for i in *.html; do $(INSTALL_DATA) $$i $(DESTDIR)$(docdir)/; done
+
+ uninstall:
diff --git a/lang/ecl/files/patch-src__gc__include__private__gcconfig.h b/lang/ecl/files/patch-src__gc__include__private__gcconfig.h
new file mode 100644
index 000000000000..783fb50c9745
--- /dev/null
+++ b/lang/ecl/files/patch-src__gc__include__private__gcconfig.h
@@ -0,0 +1,95 @@
+--- ./src/gc/include/private/gcconfig.h.orig Fri Aug 12 13:26:42 2005
++++ ./src/gc/include/private/gcconfig.h Sat Jun 24 22:58:57 2006
+@@ -318,10 +318,6 @@
+ # define OPENBSD
+ # define mach_type_known
+ # endif
+-# if defined(FREEBSD) && (defined(i386) || defined(__i386__))
+-# define I386
+-# define mach_type_known
+-# endif
+ # if defined(__NetBSD__) && (defined(i386) || defined(__i386__))
+ # define I386
+ # define mach_type_known
+@@ -330,10 +326,24 @@
+ # define X86_64
+ # define mach_type_known
+ # endif
+-# if defined(FREEBSD) && defined(__sparc__)
+-# define SPARC
+-# define mach_type_known
+-#endif
++# if defined(FREEBSD)
++# ifdef __i386__
++# define I386
++# define mach_type_known
++# endif
++# ifdef __amd64__
++# define X86_64
++# define mach_type_known
++# endif
++# ifdef __sparc64__
++# define SPARC
++# define mach_type_known
++# endif
++# ifdef __ia64__
++# define IA64
++# define mach_type_known
++# endif
++# endif
+ # if defined(bsdi) && (defined(i386) || defined(__i386__))
+ # define I386
+ # define BSDI
+@@ -979,6 +989,9 @@
+ # ifdef __ELF__
+ # define DYNAMIC_LOADING
+ # endif
++# ifndef GC_FREEBSD_THREADS
++# define MPROTECT_VDB
++# endif
+ extern char etext[];
+ extern char edata[];
+ extern char end[];
+@@ -1215,15 +1228,15 @@
+ # endif
+ # ifdef FREEBSD
+ # define OS_TYPE "FREEBSD"
+-# ifndef GC_FREEBSD_THREADS
+-# define MPROTECT_VDB
+-# endif
+ # define SIG_SUSPEND SIGUSR1
+ # define SIG_THR_RESTART SIGUSR2
+ # define FREEBSD_STACKBOTTOM
+ # ifdef __ELF__
+ # define DYNAMIC_LOADING
+ # endif
++# ifndef GC_FREEBSD_THREADS
++# define MPROTECT_VDB
++# endif
+ extern char etext[];
+ extern char * GC_FreeBSDGetDataStart();
+ # define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
+@@ -1926,6 +1939,23 @@
+ # define PREFETCH(x) __builtin_prefetch((x), 0, 0)
+ # define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1)
+ # endif
++# endif
++# ifdef FREEBSD
++# define OS_TYPE "FREEBSD"
++# define SIG_SUSPEND SIGUSR1
++# define SIG_THR_RESTART SIGUSR2
++# define FREEBSD_STACKBOTTOM
++# ifdef __ELF__
++# define DYNAMIC_LOADING
++# endif
++ extern char etext[];
++ extern char edata[];
++ extern char end[];
++# define NEED_FIND_LIMIT
++# define DATASTART ((ptr_t)(&etext))
++# define DATAEND (GC_find_limit (DATASTART, TRUE))
++# define DATASTART2 ((ptr_t)(&edata))
++# define DATAEND2 ((ptr_t)(&end))
+ # endif
+ # ifdef NETBSD
+ # define OS_TYPE "NETBSD"
diff --git a/lang/ecl/pkg-plist b/lang/ecl/pkg-plist
index d70706da7f27..175f81dd560f 100644
--- a/lang/ecl/pkg-plist
+++ b/lang/ecl/pkg-plist
@@ -1,34 +1,32 @@
+bin/ecl
+bin/ecl-config
+lib/ecl/BUILD-STAMP
+%%ASDF%%lib/ecl/asdf.fas
+%%CLX%%lib/ecl/clx.fas
+%%CLOS_STREAMS%%lib/ecl/cmp.fas
+lib/ecl/dpp
+lib/ecl/ecl_min
lib/ecl/h/config.h
-lib/ecl/h/ecl.h
-lib/ecl/h/ecl-cmp.h
-lib/ecl/h/object.h
+lib/ecl/h/configpre.h
lib/ecl/h/cs.h
-lib/ecl/h/stacks.h
-lib/ecl/h/external.h
+lib/ecl/h/ecl-cmp.h
+lib/ecl/h/ecl.h
lib/ecl/h/eval.h
-lib/ecl/h/number.h
-lib/ecl/h/page.h
-lib/ecl/h/unify.h
-lib/ecl/h/lwp.h
-lib/ecl/h/configpre.h
+lib/ecl/h/external.h
lib/ecl/h/gc.h
lib/ecl/h/gc_config_macros.h
lib/ecl/h/gc_local_alloc.h
lib/ecl/h/gc_pthread_redirects.h
lib/ecl/h/gc_typed.h
lib/ecl/h/leak_detector.h
-lib/ecl/BUILD-STAMP
-lib/ecl/ecl_min
-lib/ecl/libecl.so
-lib/ecl/sockets.fas
-lib/ecl/asdf.fas
-lib/ecl/cmp.fas
-lib/ecl/dpp
+lib/ecl/h/lwp.h
+lib/ecl/h/number.h
+lib/ecl/h/object.h
+lib/ecl/h/page.h
+lib/ecl/h/stacks.h
+lib/ecl/h/unify.h
lib/ecl/help.doc
-bin/ecl
-bin/ecl-config
-share/doc/ecl/Copyright
-share/doc/ecl/LGPL
+lib/ecl/libecl.so
+%%SOCKETS%%lib/ecl/sockets.fas
@dirrm lib/ecl/h
@dirrm lib/ecl
-@dirrm share/doc/ecl