Date: Sat, 11 Jun 2005 21:23:43 -0700 (PDT) From: Woody Carey <woodycarey@hotmail.com> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/82155: New port: devel/dynamic-classes C++ dynamic class implementation Message-ID: <200506120423.j5C4NhI1037424@adsl-67-112-113-91.dsl.pltn13.pacbell.net> Resent-Message-ID: <200506120320.j5C3K9qY039713@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 82155 >Category: ports >Synopsis: New port: devel/dynamic-classes C++ dynamic class implementation >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: Sun Jun 12 03:20:08 GMT 2005 >Closed-Date: >Last-Modified: >Originator: Woody Carey >Release: FreeBSD 5.4-STABLE i386 >Organization: None >Environment: System: FreeBSD adsl-67-112-113-91.dsl.pltn13.pacbell.net 5.4-STABLE FreeBSD 5.4-STABLE #0: Fri May 20 19:18:14 PDT 2005 wcarey@adsl-67-112-113-91.dsl.pltn13.pacbell.net:/usr/obj/usr/src/sys/SMP i386 >Description: Please accept my humble first attempt at contributing a new port to the FreeBSD project. Legal Note: Dr. Gray has not responded to multiple requests for clarification of copyrights and redistribution rights of the original source files upon which this port is based. See http://www.research.att.com/~gisli/dynamic/README.html for info. Neither has his co-author Gisli Hjamytysson. Thank you. >How-To-Repeat: sh dynamic-classes.shar >Fix: --- dynamic-classes.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: # # dynamic-classes # dynamic-classes/pkg-message # dynamic-classes/pkg-descr # dynamic-classes/pkg-plist # dynamic-classes/Makefile # dynamic-classes/distinfo # echo c - dynamic-classes mkdir -p dynamic-classes > /dev/null 2>&1 echo x - dynamic-classes/pkg-message sed 's/^X//' >dynamic-classes/pkg-message << 'END-of-dynamic-classes/pkg-message' XNote: this port installs *nothing* by default! X XTo install this port to a place to experiment with it and modify, Xor use it in your code, first copy the "work/dynamic" directory over to Xsomewhere you can mess with it as non-root user. X XThen from there you can copy another over to your non-root $HOME and Xmess with it. X XIf you do a 'make clean', the work directory will be blown away! X XMake sure you set your LD_LIBRARY_PATH and VERSION_LIBRARY as per Xthe README in work/dynamic. For compiling, don't forget to export Xor setenv CXX=g++ END-of-dynamic-classes/pkg-message echo x - dynamic-classes/pkg-descr sed 's/^X//' >dynamic-classes/pkg-descr << 'END-of-dynamic-classes/pkg-descr' XThis is the initial port of Robert and Gisli's dynamic classes implementation Xin C++ to FreeBSD 5.4. Dynamic Classes wrap around dlopen()/dlsym() to Xprovide a syntactically clean way to load and unload various versions of Xa C++ class at runtime. It is a very powerful technique, making use of Xall of C++ advanced features and demonstrating how to achieve the latest Xbinding possible (runtime binding and re-binding) of a C++ class Ximplementation. See also devel/commmoncpp2 for the DSO class as another Xclass which implements similar functionality. To see this practice in Xfull and glorious action, look at the ACE Service Configurator Framework. X XWWW: http://www.research.att.com/~gisli/dynamic/README.html END-of-dynamic-classes/pkg-descr echo x - dynamic-classes/pkg-plist sed 's/^X//' >dynamic-classes/pkg-plist << 'END-of-dynamic-classes/pkg-plist' X X END-of-dynamic-classes/pkg-plist echo x - dynamic-classes/Makefile sed 's/^X//' >dynamic-classes/Makefile << 'END-of-dynamic-classes/Makefile' X# New ports collection makefile for: dynamic-classes X# Date created: June 10th, 2005 X# Whom: wcarey X# X# $FreeBSD$ X# X XPORTNAME= dynamic-classes XPORTVERSION= 1.0 XCATEGORIES= devel XMASTER_SITES= http://www.research.att.com/~gisli/dynamic/ \ X http://www.badplandude.com/~wcarey/dynamic/ XDISTFILES= dynamic.tgz X XPATCH_SITES= http://www.badplandude.com/~wcarey/dynamic/ XPATCHFILES= patch-Makefile.in \ X patch-genTcpip.cc \ X patch-dynmedium.h \ X patch-load.cc X XMAINTAINER= woodycarey@hotmail.com XCOMMENT= Robert Gray and Gisli Hjalmtysson dynamic classes c++ code X X# configure must be run with environment variable CXX set to "g++" X# and should be passed "--enable-shared" XHAS_CONFIGURE= yes XCONFIGURE_ENV= CXX=g++ XCONFIGURE_ARGS= --enable-shared X XNO_INSTALL=yes XNO_INSTALL_MANPAGES=yes XONLY_FOR_ARCHS= i386 X XWRKSRC= ${WRKDIR}/dynamic X Xpost-build: X ${CAT} pkg-message X X.include <bsd.port.mk> END-of-dynamic-classes/Makefile echo x - dynamic-classes/distinfo sed 's/^X//' >dynamic-classes/distinfo << 'END-of-dynamic-classes/distinfo' XMD5 (dynamic.tgz) = b32958ab1ed7b18a9bcc5202a936abaf XSIZE (dynamic.tgz) = 387108 XMD5 (patch-Makefile.in) = 054b06f56db18dfb0d3d791132cd8d80 XSIZE (patch-Makefile.in) = 1205 XMD5 (patch-genTcpip.cc) = 1c2153573739438f691bd253f2ef720a XSIZE (patch-genTcpip.cc) = 4876 XMD5 (patch-dynmedium.h) = fd2fcaa1846c0d2cf618f11a9b1fec03 XSIZE (patch-dynmedium.h) = 562 XMD5 (patch-load.cc) = 8cdb5c4182585a73e1c0644eaefd7905 XSIZE (patch-load.cc) = 2718 END-of-dynamic-classes/distinfo exit --- dynamic-classes.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?200506120423.j5C4NhI1037424>