diff options
Diffstat (limited to 'lang/neko/Makefile')
-rw-r--r-- | lang/neko/Makefile | 163 |
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> |