aboutsummaryrefslogtreecommitdiff
path: root/lang/neko/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'lang/neko/Makefile')
-rw-r--r--lang/neko/Makefile163
1 files changed, 163 insertions, 0 deletions
diff --git a/lang/neko/Makefile b/lang/neko/Makefile
new file mode 100644
index 000000000000..a0b9ec42e84c
--- /dev/null
+++ b/lang/neko/Makefile
@@ -0,0 +1,163 @@
+# New ports collection makefile for: The Neko Programming Language
+# Date created: 08 August 2007
+# Whom: Masanori OZAWA (ozawa@ongs.co.jp)
+#
+# $FreeBSD$
+#
+
+PORTNAME= neko
+PORTVERSION= 1.6.0
+CATEGORIES= lang
+MASTER_SITES= http://nekovm.org/_media/
+
+MAINTAINER= ozawa@ongs.co.jp
+COMMENT= The Neko Programming Language
+
+ONLY_FOR_ARCHS= i386 amd64
+
+USE_GMAKE= yes
+
+OPTIONS= APACHE13 "Build with mod_neko for Apache 1.3.x" off \
+ APACHE22 "Build with mod_neko for Apache 2.2.x" off \
+ MYSQL4 "Build with MySQL 4.x library" off \
+ SQLITE3 "Build with Sqlite 3.x SQL library" off \
+ PCRE "Build with PCRE library" on \
+ GTK2 "Build with Gtk 2.x UI library" on
+
+.include <bsd.port.pre.mk>
+
+# Neko needs boehm-gc with POSIX thread support.
+BC_DIR!= cd ${PORTSDIR}/devel/boehm-gc && ${MAKE} -V WRKSRC
+
+CFLAGS= -I${WRKSRC} -I${PREFIX}/include
+LDFLAGS= -L${BC_DIR}/.libs -L${PREFIX}/lib
+LIBKEYNAME=
+
+.if defined(WITH_APACHE13)
+BUILD_DEPENDS+= ${LOCALBASE}/sbin/apxs:${PORTSDIR}/www/apache13
+RUN_DEPENDS+= ${LOCALBASE}/sbin/apxs:${PORTSDIR}/www/apache13
+CFLAGS+= -I${LOCALBASE}/include/apache
+PLIST_SUB+= APACHE13=
+.else
+LIBKEYNAME+= mod_neko
+PLIST_SUB+= APACHE13="@comment "
+.endif
+
+.if defined(WITH_APACHE22)
+BUILD_DEPENDS+= ${LOCALBASE}/sbin/apxs:${PORTSDIR}/www/apache22
+RUN_DEPENDS+= ${LOCALBASE}/sbin/apxs:${PORTSDIR}/www/apache22
+CFLAGS+= -I${LOCALBASE}/include/apache22
+PLIST_SUB+= APACHE22=
+.else
+LIBKEYNAME+= mod_neko2
+PLIST_SUB+= APACHE22="@comment "
+.endif
+
+.if defined(WITH_MYSQL4)
+BUILD_DEPENDS+= mysql:${PORTSDIR}/databases/mysql41-client
+RUN_DEPENDS+= mysql:${PORTSDIR}/databases/mysql41-client
+CFLAGS+= -I${PREFIX}/include/mysql
+PLIST_SUB+= MYSQL4=
+.else
+LIBKEYNAME+= mysql
+PLIST_SUB+= MYSQL4="@comment "
+.endif
+
+.if defined(WITH_SQLITE3)
+BUILD_DEPENDS+= sqlite3:${PORTSDIR}/databases/sqlite3
+RUN_DEPENDS+= sqlite3:${PORTSDIR}/databases/sqlite3
+PLIST_SUB+= SQLITE3=
+.else
+LIBKEYNAME+= sqlite
+PLIST_SUB+= SQLITE3="@comment "
+.endif
+
+.if defined(WITH_PCRE)
+BUILD_DEPENDS+= ${PREFIX}/include/pcre.h:${PORTSDIR}/devel/pcre
+RUN_DEPENDS+= ${PREFIX}/include/pcre.h:${PORTSDIR}/devel/pcre
+PLIST_SUB+= PCRE=
+.else
+LIBKEYNAME+= regexp
+PLIST_SUB+= PCRE="@comment "
+.endif
+
+.if defined(WITH_GTK2)
+BUILD_DEPENDS+= ${PREFIX}/include/gtk-2.0:${PORTSDIR}/x11-toolkits/gtk20
+RUN_DEPENDS+= ${PREFIX}/include/gtk-2.0:${PORTSDIR}/x11-toolkits/gtk20
+PLIST_SUB+= GTK2=
+.else
+LIBKEYNAME+= ui
+PLIST_SUB+= GTK2="@comment "
+.endif
+
+.if ${ARCH} == "amd64"
+CFLAGS+= -D_64BITS -fPIC
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} \
+ -e '/INSTALL_PREFIX/s,/usr/local,${PREFIX},' \
+ -e '/^CFLAGS =/s,.$$, ${CFLAGS},' \
+ -e '/LIBNEKO_LIBS =/s,[-]ldl,${LDFLAGS},' \
+ -e '/LIBNEKO_LIBS =/s,[-]lgc,-lnekogc,' \
+ -e '/mkdir/s,\(INSTALL_PREFIX[}]/include\),\1/neko,' \
+ -e '/cp vm[/]neko[*][.]h/s,\(INSTALL_PREFIX[}]/include\),\1/neko,' \
+ ${WRKSRC}/Makefile
+ @${REINPLACE_CMD} \
+ -e '/^[#] include/s,wait.h,sys/wait.h,' \
+ ${WRKSRC}/libs/std/process.c
+ @${REINPLACE_CMD} \
+ -e '/^linkcmd =/s,"ld",cc,' \
+ -e 's/= readline[(][)];/= "s";/' \
+ ${WRKSRC}/src/tools/install.neko
+.if !empty(LIBKEYNAME)
+.for LKN in ${LIBKEYNAME}
+ @${REINPLACE_CMD} \
+ -e '/^ ${LKN} =[>]/,/^ [}][,]\{0,1\}.$$/d' \
+ ${WRKSRC}/src/tools/install.neko
+.endfor
+.endif
+.if defined(WITH_APACHE13)
+ @${REINPLACE_CMD} \
+ -e 's,"/usr/include/apache-1.3","${PREFIX}/include/apache",' \
+ ${WRKSRC}/src/tools/install.neko
+.endif
+.if defined(WITH_APACHE22)
+ @${REINPLACE_CMD} \
+ -e 's,"/usr/include/apache2","${PREFIX}/include/apache22",' \
+ ${WRKSRC}/src/tools/install.neko
+.endif
+.if defined(WITH_GTK2)
+ @${REINPLACE_CMD} \
+ -e 's,"/usr/include/gtk-2.0","${PREFIX}/include/gtk-2.0",' \
+ ${WRKSRC}/src/tools/install.neko
+ @${REINPLACE_CMD} \
+ -e 's,NEKO_LINUX,NEKO_BSD,' ${WRKSRC}/libs/ui/ui.c
+.endif
+
+pre-build:
+ @(cd ${PORTSDIR}/devel/boehm-gc/ && \
+ ${MAKE} BATCH=yes WITH_THREADING=true clean all)
+ @${RM} -f ${BC_DIR}/.libs/*.so*
+ @for BLIB in `${LS} ${BC_DIR}/.libs/libgc.*`; do \
+ ${MV} $${BLIB} `echo $${BLIB} | ${SED} -e 's/libgc/libnekogc/'`; \
+ done
+ @${LN} -sf ${BC_DIR}/include ${WRKSRC}/gc
+
+post-install:
+.if defined(WITH_APACHE13) || defined(WITH_APACHE22)
+ @${ECHO_CMD}
+ @${ECHO_CMD} "======================================================="
+ @${ECHO_CMD}
+ @${ECHO_CMD} " If you want to use Apache with mod_neko, you need "
+ @${ECHO_CMD} " edit the Apache configuration files."
+ @${ECHO_CMD} " Please see 'http://nekovm.org/doc/mod_neko' for details."
+ @${ECHO_CMD}
+ @${ECHO_CMD} "======================================================="
+ @${ECHO_CMD}
+.endif
+
+pre-clean:
+ @(cd ${PORTSDIR}/devel/boehm-gc/ && ${MAKE} clean)
+
+.include <bsd.port.post.mk>