Date: Thu, 22 Jan 2004 18:45:53 +0300 (MSK) From: Igor Pokrovsky <tiamat@comset.net> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/61763: New port: graphics/allegrogl OpenGL inteface for Allegro library Message-ID: <200401221545.i0MFjr9E005517@doom.homeunix.org> Resent-Message-ID: <200401230320.i0N3KBld088012@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 61763 >Category: ports >Synopsis: New port: graphics/allegrogl OpenGL inteface for Allegro library >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Jan 22 19:20:11 PST 2004 >Closed-Date: >Last-Modified: >Originator: Igor Pokrovsky >Release: FreeBSD 4.9-STABLE i386 >Organization: >Environment: System: FreeBSD doom.homeunix.org 4.9-STABLE FreeBSD 4.9-STABLE #1: Sun Dec 14 13:12:44 MSK 2003 root@doom.homeunix.org:/usr/obj/usr/src/sys/KERNEL i386 >Description: The library mostly provides functions to allow you to use OpenGL alongside Allegro -- you use OpenGL for your rendering to the screen, and Allegro for miscellaneous tasks like gathering input, doing timers, getting cross-platform portability, loading data, playing samples and drawing your textures. So this library fills the same hole that things like GLUT do. >How-To-Repeat: >Fix: --- allegrogl.shar begins here --- # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # allegrogl # allegrogl/pkg-plist # allegrogl/pkg-descr # allegrogl/distinfo # allegrogl/Makefile # allegrogl/files # allegrogl/files/patch-configure.in # allegrogl/files/patch-include-alleggl.h # allegrogl/files/patch-make-makefile.unx # allegrogl/files/patch-include-allegrogl-gl_ext.h # allegrogl/files/patch-src-glext.c # allegrogl/files/makefile.ex # echo c - allegrogl mkdir -p allegrogl > /dev/null 2>&1 echo x - allegrogl/pkg-plist sed 's/^X//' >allegrogl/pkg-plist << 'END-of-allegrogl/pkg-plist' Xinclude/alleggl.h Xinclude/alleggl_config.h Xinclude/allegrogl/gl_ext.h Xinclude/allegrogl/gl_header_detect.h Xinclude/allegrogl/GLext/gl_ext_api.h Xinclude/allegrogl/GLext/gl_ext_defs.h Xinclude/allegrogl/GLext/gl_ext_list.h Xinclude/allegrogl/GLext/glx_ext_api.h Xinclude/allegrogl/GLext/glx_ext_defs.h Xinclude/allegrogl/GLext/glx_ext_list.h Xinclude/allegrogl/GLext/wgl_ext_api.h Xinclude/allegrogl/GLext/wgl_ext_defs.h Xinclude/allegrogl/GLext/wgl_ext_list.h X@dirrm include/allegrogl/GLext X@dirrm include/allegrogl Xlib/libagl.a X%%EXAMPLESDIR%%/demofont.dat X%%EXAMPLESDIR%%/dialog.c X%%EXAMPLESDIR%%/dumbtest.c X%%EXAMPLESDIR%%/exalleg.c X%%EXAMPLESDIR%%/exalpfnt.c X%%EXAMPLESDIR%%/excamera.c X%%EXAMPLESDIR%%/exext.c X%%EXAMPLESDIR%%/exgui.c X%%EXAMPLESDIR%%/exmasked.c X%%EXAMPLESDIR%%/extext.c X%%EXAMPLESDIR%%/extextur.c X%%EXAMPLESDIR%%/lucidia.dat X%%EXAMPLESDIR%%/makefile X%%EXAMPLESDIR%%/mysha.pcx X%%EXAMPLESDIR%%/running.dat X%%EXAMPLESDIR%%/running.h X%%EXAMPLESDIR%%/test.c X%%EXAMPLESDIR%%/tex.c X@dirrm %%EXAMPLESDIR%% X%%PORTDOCS%%%%DOCSDIR%%/bugs.txt X%%PORTDOCS%%%%DOCSDIR%%/extensions.txt X%%PORTDOCS%%%%DOCSDIR%%/faq.txt X%%PORTDOCS%%%%DOCSDIR%%/howto.txt X%%PORTDOCS%%%%DOCSDIR%%/quickstart.txt X%%PORTDOCS%%%%DOCSDIR%%/readme.txt X%%PORTDOCS%%%%DOCSDIR%%/todo.txt X%%PORTDOCS%%@dirrm %%DOCSDIR%% END-of-allegrogl/pkg-plist echo x - allegrogl/pkg-descr sed 's/^X//' >allegrogl/pkg-descr << 'END-of-allegrogl/pkg-descr' XThe library mostly provides functions to allow you to use OpenGL alongside XAllegro -- you use OpenGL for your rendering to the screen, and Allegro Xfor miscellaneous tasks like gathering input, doing timers, getting Xcross-platform portability, loading data, playing samples and drawing your Xtextures. So this library fills the same hole that things like GLUT do. X XWWW: http://allegrogl.sourceforge.net/ X X- Igor Pokrovsky Xtiamat@comset.net END-of-allegrogl/pkg-descr echo x - allegrogl/distinfo sed 's/^X//' >allegrogl/distinfo << 'END-of-allegrogl/distinfo' XMD5 (alleggl-0.2.0.tar.bz2) = 54080f3f549bbf25ba04be7c3e8a42a5 END-of-allegrogl/distinfo echo x - allegrogl/Makefile sed 's/^X//' >allegrogl/Makefile << 'END-of-allegrogl/Makefile' X# New ports collection makefile for: allegrogl X# Date created: 22 Jan 2004 X# Whom: Igor Pokrovsky <tiamat@comset.net> X# X# $FreeBSD$ X# X XPORTNAME= allegrogl XPORTVERSION= 0.2.0 XCATEGORIES= graphics XMASTER_SITES= ${MASTER_SITE_SOURCEFORGE} XMASTER_SITE_SUBDIR= ${PORTNAME} XDISTNAME= alleggl-${PORTVERSION} X XMAINTAINER= tiamat@comset.net XCOMMENT= OpenGL inteface for Allegro library X XLIB_DEPENDS= alleg.41:${PORTSDIR}/devel/allegro X XUSE_BZIP2= yes XUSE_GMAKE= yes XUSE_REINPLACE= yes XUSE_GL= yes XUSE_X_PREFIX= yes XUSE_AUTOCONF_VER=253 XGNU_CONFIGURE= yes XMAKEFILE= makefile XALL_TARGET= lib X XWRKSRC= ${WRKDIR}/alleggl X XALLEGRO_CONFIG?=${LOCALBASE}/bin/allegro-config X Xpost-patch: X @${REINPLACE_CMD} -e 's|%%GMAKE%%|${GMAKE}|g; \ X s|%%PTHREAD_LIBS%%|${PTHREAD_LIBS}|g' \ X ${WRKSRC}/configure.in X @${REINPLACE_CMD} -e 's|%%ALLEGRO_CONFIG%%|${ALLEGRO_CONFIG}|g' \ X ${WRKSRC}/make/makefile.unx X Xdo-install: X ${INSTALL_DATA} ${WRKSRC}/lib/unix/libagl.a ${PREFIX}/lib X ${INSTALL_DATA} ${WRKSRC}/include/alleggl.h ${PREFIX}/include X ${INSTALL_DATA} ${WRKSRC}/include/alleggl_config.h ${PREFIX}/include X @${MKDIR} ${PREFIX}/include/allegrogl X ${INSTALL_DATA} ${WRKSRC}/include/allegrogl/*.h \ X ${PREFIX}/include/allegrogl X @${MKDIR} ${PREFIX}/include/allegrogl/GLext X ${INSTALL_DATA} ${WRKSRC}/include/allegrogl/GLext/*.h \ X ${PREFIX}/include/allegrogl/GLext X X @${MKDIR} ${EXAMPLESDIR} X ${INSTALL_DATA} ${WRKSRC}/examp/* ${EXAMPLESDIR} X @${PERL} -pi -e 's|%%CC%%|${CC}|g; \ X s|%%RM%%|${RM}|g; \ X s|%%CFLAGS%%|${CFLAGS}|g; \ X s|%%PREFIX%%|${PREFIX}|g; \ X s|%%X11BASE%%|${X11BASE}|g; \ X s|%%ALLEGRO_CONFIG%%|${ALLEGRO_CONFIG}|g' \ X <${PATCHDIR}/makefile.ex >${EXAMPLESDIR}/makefile X X.ifndef (NOPORTDOCS) X @${MKDIR} ${DOCSDIR} X ${INSTALL_DATA} ${WRKSRC}/*.txt ${DOCSDIR} X.endif X X.include <bsd.port.mk> END-of-allegrogl/Makefile echo c - allegrogl/files mkdir -p allegrogl/files > /dev/null 2>&1 echo x - allegrogl/files/patch-configure.in sed 's/^X//' >allegrogl/files/patch-configure.in << 'END-of-allegrogl/files/patch-configure.in' X--- configure.in.orig Sat Sep 6 21:26:48 2003 X+++ configure.in Thu Jan 22 14:58:15 2004 X@@ -50,7 +50,7 @@ X X dnl Check for pthread support, which GL libs may require (e.g. FreeBSD) X AC_CHECK_HEADER(pthread.h, , dontcare=y) X-AC_CHECK_LIB(pthread, pthread_create, LIBS="-lpthread $LIBS") X+AC_CHECK_LIB(pthread, pthread_create, LIBS="%%PTHREAD_LIBS%% $LIBS") X X X dnl Build Mesa generic driver X@@ -96,14 +96,15 @@ X fi X X X+dnl We don't need this check in FreeBSD X dnl Check if the dynamic loading library (libdl.so) is available X- AH_TEMPLATE([ALLEGROGL_HAVE_DYNAMIC_LINK], [Define if dynamic linking is supported.]) X- AC_CHECK_HEADER(dlfcn.h, X- AC_CHECK_LIB(dl, dlsym, X- LIBS="-ldl $LIBS" X+dnl AH_TEMPLATE([ALLEGROGL_HAVE_DYNAMIC_LINK], [Define if dynamic linking is supported.]) X+dnl AC_CHECK_HEADER(dlfcn.h, X+dnl AC_CHECK_LIB(dl, dlsym, X+dnl LIBS="-ldl $LIBS" X AC_DEFINE(ALLEGROGL_HAVE_DYNAMIC_LINK) X- ) X- ) X+dnl ) X+dnl ) X fi X X X@@ -155,14 +156,14 @@ X dnl the Mesa generic driver and the (hopefully) accelerated one X if test -f makefile; then X echo '# Remove older build' X- make veryclean X+ %%GMAKE%% veryclean X agl_make_depend="yes"; X fi X X X dnl If dependencies are not built yet then do it ! X if (test ! -f make/makefile.dep); then X- echo '# Execute "make depend".' > make/makefile.dep X+ echo '# Execute "%%GMAKE%% depend".' > make/makefile.dep X agl_make_depend="yes"; X fi X X@@ -173,5 +174,5 @@ X X dnl Run "make depend" if necessary X if test -n "$agl_make_depend"; then X- make depend X+ %%GMAKE%% depend X fi END-of-allegrogl/files/patch-configure.in echo x - allegrogl/files/patch-include-alleggl.h sed 's/^X//' >allegrogl/files/patch-include-alleggl.h << 'END-of-allegrogl/files/patch-include-alleggl.h' X--- include/alleggl.h.orig Thu Jan 22 14:12:08 2004 X+++ include/alleggl.h Thu Jan 22 14:12:21 2004 X@@ -48,9 +48,11 @@ X #include "allegrogl/gl_ext.h" X X #ifdef ALLEGRO_WITH_XWINDOWS X+/* X #ifndef HAVE_LIBPTHREAD X # error AllegroGL requires Allegro to have pthread support enabled! X #endif X+*/ X #include <alleggl_config.h> X #endif X END-of-allegrogl/files/patch-include-alleggl.h echo x - allegrogl/files/patch-make-makefile.unx sed 's/^X//' >allegrogl/files/patch-make-makefile.unx << 'END-of-allegrogl/files/patch-make-makefile.unx' X--- make/makefile.unx.orig Thu Jan 22 14:15:30 2004 X+++ make/makefile.unx Thu Jan 22 14:17:05 2004 X@@ -46,20 +46,20 @@ X # --- Compiler optimizations ---# X X ifdef DEBUGMODE X- CFLAGS = -g -W -Wall -Wno-unused X+ CFLAGS += -g -W -Wall -Wno-unused X CFLAGS += -DDEBUGMODE=$(DEBUGMODE) X ifdef LOGLEVEL X CFLAGS += -DLOGLEVEL=$(LOGLEVEL) X endif X else X- CFLAGS = -O2 -Wall -ffast-math -fomit-frame-pointer X+ CFLAGS += -O2 -Wall -ffast-math -fomit-frame-pointer X SHARED = @SHARED@ X endif X X ifdef DEBUGALLEG X- LDLIBS = -l$(LIB_NAME) `allegro-config --libs debug` $(LIBS) X+ LDLIBS = -l$(LIB_NAME) `%%ALLEGRO_CONFIG%% --libs debug` $(LIBS) X else X- LDLIBS = -l$(LIB_NAME) `allegro-config --libs` $(LIBS) X+ LDLIBS = -l$(LIB_NAME) `%%ALLEGRO_CONFIG%% --libs` $(LIBS) X endif X X ifdef MESABUILD END-of-allegrogl/files/patch-make-makefile.unx echo x - allegrogl/files/patch-include-allegrogl-gl_ext.h sed 's/^X//' >allegrogl/files/patch-include-allegrogl-gl_ext.h << 'END-of-allegrogl/files/patch-include-allegrogl-gl_ext.h' X--- include/allegrogl/gl_ext.h.orig Sun Dec 14 01:19:34 2003 X+++ include/allegrogl/gl_ext.h Thu Jan 22 14:46:25 2004 X@@ -12,7 +12,7 @@ X #include "allegrogl/GLext/gl_ext_defs.h" X #ifdef ALLEGRO_WINDOWS X #include "allegrogl/GLext/wgl_ext_defs.h" X-#elif defined ALLEGRO_LINUX X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__ X #include "allegrogl/GLext/glx_ext_defs.h" X #endif X X@@ -27,7 +27,7 @@ X # include "allegrogl/GLext/gl_ext_api.h" X #ifdef ALLEGRO_WINDOWS X # include "allegrogl/GLext/wgl_ext_api.h" X-#elif defined ALLEGRO_LINUX X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__ X # include "allegrogl/GLext/glx_ext_api.h" X #endif X #undef AGL_API X@@ -46,7 +46,7 @@ X #define AGL_API(type, name, args) extern AGL_##name##_t wgl##name; X # include "allegrogl/GLext/wgl_ext_api.h" X #undef AGL_API X-#elif defined ALLEGRO_LINUX X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__ X #define AGL_API(type, name, args) extern AGL_##name##_t glX##name; X # include "allegrogl/GLext/glx_ext_api.h" X #undef AGL_API END-of-allegrogl/files/patch-include-allegrogl-gl_ext.h echo x - allegrogl/files/patch-src-glext.c sed 's/^X//' >allegrogl/files/patch-src-glext.c << 'END-of-allegrogl/files/patch-src-glext.c' X--- src/glext.c.orig Thu Jan 8 01:04:04 2004 X+++ src/glext.c Thu Jan 22 16:32:43 2004 X@@ -20,7 +20,7 @@ X # include "allegrogl/GLext/gl_ext_api.h" X #ifdef ALLEGRO_WINDOWS X # include "allegrogl/GLext/wgl_ext_api.h" X-#elif defined ALLEGRO_LINUX X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__ X # include "allegrogl/GLext/glx_ext_api.h" X #endif X } AGL_EXT; X@@ -105,7 +105,7 @@ X #define AGL_API(type, name, args) AGL_##name##_t wgl##name = NULL; X # include "allegrogl/GLext/wgl_ext_api.h" X #undef AGL_API X-#elif defined ALLEGRO_LINUX X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__ X #define AGL_API(type, name, args) AGL_##name##_t glX##name = NULL; X # include "allegrogl/GLext/glx_ext_api.h" X #undef AGL_API X@@ -153,7 +153,7 @@ X if (ext->name) { AGL_LOG(2,"wgl" #name " successfully loaded\n"); } X # include "allegrogl/GLext/wgl_ext_api.h" X # undef AGL_API X-# elif defined ALLEGRO_LINUX X+# elif defined ALLEGRO_LINUX || defined __FreeBSD__ X # define AGL_API(type, name, args) \ X ext->name = (AGL_##name##_t)aglXGetProcAddress("gl" #name); \ X if (ext->name) { AGL_LOG(2,"gl" #name " successfully loaded\n"); } X@@ -197,7 +197,7 @@ X #define AGL_API(type, name, args) wgl##name = ext->name; X # include "allegrogl/GLext/wgl_ext_api.h" X #undef AGL_API X-#elif defined ALLEGRO_LINUX X+#elif defined ALLEGRO_LINUX || defined __FreeBSD__ X #define AGL_API(type, name, args) glX##name = ext->name; X # include "allegrogl/GLext/glx_ext_api.h" X #undef AGL_API X@@ -344,7 +344,7 @@ X * we try to find the symbol into the dynamic libs X * that are already loaded (e.g. in libGL.so) X */ X- symbol = dlsym(0, name); X+ symbol = dlsym(RTLD_NEXT, name); X } X #elif defined ALLEGRO_MACOSX X function = CFStringCreateWithCString(kCFAllocatorDefault, name, X@@ -439,10 +439,10 @@ X X /* Get glXGetProcAddress entry */ X #ifdef ALLEGROGL_HAVE_DYNAMIC_LINK X- aglXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(0, X+ aglXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(RTLD_NEXT, X "glXGetProcAddressARB"); X if (!aglXGetProcAddress) { X- aglXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(0, X+ aglXGetProcAddress = (GLXGETPROCADDRESSARBPROC) dlsym(RTLD_NEXT, X "glXGetProcAddress"); X } X TRACE("glXGetProcAddress Extension: %s\n", END-of-allegrogl/files/patch-src-glext.c echo x - allegrogl/files/makefile.ex sed 's/^X//' >allegrogl/files/makefile.ex << 'END-of-allegrogl/files/makefile.ex' XCC= %%CC%% XRM= %%RM%% XCFLAGS= %%CFLAGS%% -I. -I%%X11BASE%%/include -I%%PREFIX%%/include/ XLDFLAGS= -L%%X11BASE%%/lib -L%%PREFIX%%/lib -lagl -lGL -lGLU X XALLEGRO_CFLAGS!=%%ALLEGRO_CONFIG%% --cflags XALLEGRO_LFLAGS!=%%ALLEGRO_CONFIG%% --libs XCFLAGS+= ${ALLEGRO_CFLAGS} XLDFLAGS+= ${ALLEGRO_LFLAGS} X XTARGETS= dialog dumbtest exalleg exalpfnt excamera exext exgui exmasked \ X extext extextur test tex X Xall: ${TARGETS} X Xdialog: dialog.o X ${CC} $> -o $@ ${LDFLAGS} X Xdumbtest: dumbtest.o X ${CC} $> -o $@ ${LDFLAGS} X Xexalleg: exalleg.o X ${CC} $> -o $@ ${LDFLAGS} X Xexalpfnt: exalpfnt.o X ${CC} $> -o $@ ${LDFLAGS} X Xexcamera: excamera.o X ${CC} $> -o $@ ${LDFLAGS} X Xexext: exext.o X ${CC} $> -o $@ ${LDFLAGS} X Xexgui: exgui.o X ${CC} $> -o $@ ${LDFLAGS} X Xexmasked: exmasked.o X ${CC} $> -o $@ ${LDFLAGS} X Xextext: extext.o X ${CC} $> -o $@ ${LDFLAGS} X Xextextur: extextur.o X ${CC} $> -o $@ ${LDFLAGS} X Xtest: test.o X ${CC} $> -o $@ ${LDFLAGS} X Xtex: tex.o X ${CC} $> -o $@ ${LDFLAGS} X X X.c.o: X ${CC} -c ${CFLAGS} $*.c X Xclean: X ${RM} -f *.o ${TARGETS} END-of-allegrogl/files/makefile.ex exit --- allegrogl.shar ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200401221545.i0MFjr9E005517>