Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Dec 1996 04:35:22 -0700
From:      bgingery@gtcs.com
To:        FreeBSD-gnats-submit@freebsd.org
Cc:        beazley@cs.utah.edu
Subject:   ports/2220: Submitted port of swig 1.0
Message-ID:  <199612151135.EAA17766@serv.gtcs.com>
Resent-Message-ID: <199612151140.DAA21235@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         2220
>Category:       ports
>Synopsis:       Submitted FreeBSD port of Swig 1.0
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports
>State:          open
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 15 03:40:05 PST 1996
>Last-Modified:
>Originator:     Bruce Gingery
>Organization:
Advanced Integrators, LC
>Release:        FreeBSD 2.1-STABLE i386
>Environment:

	I have multiple versions of TCL installed on this host
	but not X-Windows/Tk.  Tested with tcl v7.6 (which I
	also took time to port, but have not yet communicated
	with jkh about it.  I have NOT installed Python, Guile-iii
	iTcl, and have not done a ports install of perl4 (just
	using the perl4 included in the original CD-ROM binary
	install.  My Perl5 is 5.001 from the v2.1.0 ports.
	I'm about to upgrade this host from 2.1.0 to 2.1.6.

>Description:

	Ref: http://www.cs.utah.edu/~beazley/SWIG/swig.html

	SWIG is a literate programming tool, for integration
	of C/C++, Perl4, Perl5, Tcl/Tk (and iTcl), Python, Guile
	and itself, allowing single-file creation of sources, and
	extremely easy building of enhanced interpreter/compile'n'go
	binaries (tclsh, wish, Perl5 .so's, etc.).  For some
	reason I've not yet determined, it seems to NOT do
	dyamic (.so) creation for tcl - but that may be because
	I've not yet tested that properly, and don't have Tk 
	nor X- installed on this host.

	Simply stated, swig is a fast-production front-end make 
	extender.

	Written by Dave Beazley <beazley@cs.utah.edu>, and
	provided with many examples, it seems to do a very good
	job in v1.0 (release).  It doesn't require ALL of the
	languages, but will work with any or (presumably) all.

	Yacc/Bison is recommended but not required as a dependancy.

	The only author's presumption I've overridden in the port
	is to make HTML the default documentation generation form
	instead of ASCII.  (LaTeX and NODOC are also options,
	which extend the potential to auto-doc'ing in just about
	any form generally used.)

	Beazley has tested on: SunOS 4.1.3, Solaris, Irix 5.3,
        Irix 6.1, HPUX, AIX 4.1, Linux, MkLinux, MachTen, and
	UNICOS, so it's high time we had it on every platform
	using the FreeBSD ports collection!

>How-To-Repeat:
(??)

	CONFUSION:  share/ is described as platform independent
	files.   lib/ is set for platform dependent binary
	linkables.  I've adopted the libdata/ used in past versions
	of BSD386 derivatives for the non-binary, non-platform-
	independnt items as an install locale.  It may be that this
	will not align with the team's definitions

	The configure does NOT pass the library information
	(other than ${PREFIX}) to the makefiles (e.g. ${datadir})
	but rather, ${PREFIX}/lib is hardcoded, and I've not cor-
	rected this, but rather just patched it in the various
	makefiles.  The validation "Errors" makefile patch
	is not this type, but rather corrects for $PWD not being
	in PATH.

	It would appear that a re-make of the port MAY be needed
	when Perl5 or Tcl is upgraded.  I don't have a good answer
	for this.  (and I've not tested with iTcl Python Guile)

>Fix:
	
	I've marked this as an "Interactive" install port, because
	the configure file frankly does not pick the correct libtcl
	when multiple versions are installed, and it's easier (for
	now) to correct the makefile template, used by swig, than
	to script out a version determination.  Also, I did NOT
	want to specify a required version of Tcl, (and iTcl?/Tk?)
	with new versions and patches coming out so often.  Dave 
	Beazley documents his testing with Tcl v7.3, and shows
	7.5 in the release, but 7.6 is current (with 7.5 currently
	in the FreeBSD ports collection).

	Because it's marked as an interactive port (rather than batch)
	I've taken the liberty of putting some notes at the end of
	the install.  These also point out the included "Examples"
	in the distribution.

	The only patches from the standard distribution are two
	Makefile.in patches, and one validation Makefile patch.
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199612151135.EAA17766>