.include "../../mk/bsd.prefs.mk" # ensure these variables are set: OCAML_CONF_ARGS?= VERSION= 3.08.3 DISTNAME= ocaml-sub PKGREVISION= 94 PKGNAME= godi-ocaml-src-${VERSION} DISTFILES= cduce-ocaml-0.0.5.tar.gz CATEGORIES= godi MASTER_SITES= http://pauillac.inria.fr/~frisch/ocamlcduce/download/ MAINTAINER= Alain.Frisch@inria.fr HOMEPAGE= http://www.cduce.org/ocaml.html COMMENT= OCaml+CDuce sources HAS_CONFIGURE= yes CONFIGURE_ARGS= -bindir ${LOCALBASE}/bin CONFIGURE_ARGS+=-libdir ${LOCALBASE}/lib/ocaml/std-lib CONFIGURE_ARGS+=-mandir ${LOCALBASE}/man/man1 CONFIGURE_ARGS+=-cc '${CC}' .if ${OPSYS} == "FreeBSD" CONFIGURE_ARGS+=-no-pthread .endif .if defined(CREATE_SHLIBS) && ${CREATE_SHLIBS} == "no" CONFIGURE_ARGS+=-no-shared-libs .endif CONFIGURE_ARGS+=${OCAML_CONF_ARGS} MAKEFILE= Makefile.godi ALL_TARGET= repack #USE_GMAKE= yes # lib is included into the search path, so there can be # special versions of standard libraries for godi OCAML_LDOPTS= -L${LOCALBASE}/lib .if defined(ELF_RPATH_FLAG) && ${ELF_RPATH} == "yes" OCAML_LDOPTS+= -Wl,${ELF_RPATH_FLAG}${LOCALBASE}/lib .endif # OCAML_CONF_ARGS can be used on the command-line to pass further # config arguments # pre-configure: Create Makefile.godi. It is copied from the "files" # directory, and a number of variable assignments are dynamically # added for easy access from Makefile.godi pre-configure: ${CP} files/Makefile.godi ${WRKSRC} ${ECHO} "DISTNAME=${DISTNAME}" >>${WRKSRC}/Makefile.godi ${ECHO} "PREFIX=${PREFIX}" >>${WRKSRC}/Makefile.godi ${ECHO} "LOCALBASE=${LOCALBASE}" >>${WRKSRC}/Makefile.godi # post-configure: (1) Modifies the config/Makefile the configure script # has written. The $(GODI_LDOPTS) are inserted into the *LINKOPTS # variables O'Caml uses when the C compiler is called to link # executables. $(GODI_LDOPTS) contain at least -L and -Wl,-R options # for the additional directories where libraries can reside. # Note that $(GODI_LDOPTS) is also taken by ocamlmklib, so the # produced shared libraries have RPATH set. # # (2) Create config-summary.mk for easy access of properties. post-configure: ${CP} ${WRKSRC}/config/Makefile ${WRKSRC}/config/Makefile.orig : # (1) ${SED} -e '/^OTHERLIBRARIES=/ s: graph: :' \ -e '/^OTHERLIBRARIES=/ s: labltk: :' \ -e '/^OTHERLIBRARIES=/ s: dbm: :' \ ${WRKSRC}/config/Makefile.orig >${WRKSRC}/config/Makefile ${ECHO} "GODI_LDOPTS=${OCAML_LDOPTS}" >>${WRKSRC}/config/Makefile : # (2) ${RM} -f ${WRKDIR}/config-summary.mk ${ECHO} "# The configuration of the O'Caml compiler (godi-ocaml-src)" >>${WRKDIR}/config-summary.mk ${ECHO} "# (don't include this file from your package Makefile)" >>${WRKDIR}/config-summary.mk if ${GREP} 'ARCH=none' ${WRKSRC}/config/Makefile >/dev/null; then \ ${ECHO} "GODI_HAVE_OCAMLOPT=no" >>${WRKDIR}/config-summary.mk; \ else \ ${ECHO} "GODI_HAVE_OCAMLOPT=yes" >>${WRKDIR}/config-summary.mk; \ fi if ${GREP} 'OTHERLIBRARIES=.*systhreads' ${WRKSRC}/config/Makefile >/dev/null; then \ ${ECHO} "GODI_THREAD_MODEL=pthr" >>${WRKDIR}/config-summary.mk; \ else \ ${ECHO} "GODI_THREAD_MODEL=bthr" >>${WRKDIR}/config-summary.mk; \ fi if ${GREP} 'SUPPORTS_SHARED_LIBRARIES=true' ${WRKSRC}/config/Makefile >/dev/null; then \ ${ECHO} "GODI_HAVE_DLL=yes" >>${WRKDIR}/config-summary.mk; \ else \ ${ECHO} "GODI_HAVE_DLL=no" >>${WRKDIR}/config-summary.mk; \ fi if ${GREP} 'PROFILING=prof' ${WRKSRC}/config/Makefile >/dev/null; then \ ${ECHO} "GODI_HAVE_PROF=yes" >>${WRKDIR}/config-summary.mk; \ else \ ${ECHO} "GODI_HAVE_PROF=no" >>${WRKDIR}/config-summary.mk; \ fi optpack=no; \ if ${GREP} -E '^BINUTILS_OBJCOPY=.+' ${WRKSRC}/config/Makefile >/dev/null; then \ if ${GREP} -E '^BINUTILS_NM=.+' ${WRKSRC}/config/Makefile >/dev/null; then \ optpack=yes; \ fi; \ fi; \ ${ECHO} "GODI_HAVE_OCAMLOPT_PACK=$$optpack" >>${WRKDIR}/config-summary.mk ${ECHO} "GODI_HAVE_OCAMLCDUCE=yes" >>${WRKDIR}/config-summary.mk .include "../../mk/bsd.pkg.mk"