> wget http://downloads.sourceforge.net/project/yodl/yodl/2.15.0/yodl_2.15.0.orig.tar.gz?use_mirror=switch
> tar xzvf yodl_2.15.0.orig.tar.gz
> cd yodl-2.15.0
Edit the file INSTALL.im and change the base install directory:
BASE = "/usr/local/yodl-2.15.0";
Edit the file scripts/configreplacements. There are three places where sed is used, change those lines to:
line 8> sed 's/.*STD_INCLUDE[[:space:]]\+\"\([^"]\+\)".*/\1/'`
line 24> sed 's/.*YODL_BIN[[:space:]]\+\"\([^"]\+\)".*/\1/'`
line 27> sed 's/.*VERSION[[:space:]]\+\"\([^"]\+\)".*/\1/'`
and the last few lines of sed'ing replace with:
STD_INCLUDE=`echo $STD_INCLUDE | sed "s/\//\\\\\\\\\//g"`
YODL_BIN=`echo $YODL_BIN | sed "s/\//\\\\\\\\\//g"`
cmd="sed 's/@STD_INCLUDE@/$STD_INCLUDE/' $1 | sed 's/@YODL_BIN@/$YODL_BIN/' $1 | sed 's/@VERSION@/$VERSION/' $1 > $2"
eval $cmd
(Why? We need to escape directory backslashes from STD_INCLUDE and YODL_BIN so that in the last sed they will appear as "\/" instead of "/". These variable can also contain quotations, so we first compose the last command in cmd="..." which will allow the $ vars to be properly expanded -- not so if it was in single quotes ['], while maintaining the single-quote expansion. Otherwise you'd get errors like this:
scripts/configreplacements scripts/yodl2whatever.in tmp/install//usr/bin/yodl2whatever
sed: 2: "
s,@STD_INCLUDE@,#define": unterminated substitute in regular expression
system - failure of system call (status 256)
or this
scripts/configreplacements macros/in/yodlversion.in tmp/install//usr/share/yodl/yodlversion.yo
sed: 2: "
s,@STD_INCLUDE@,#define": unterminated substitute in regular expression
system - failure of system call (status 256)
) // end of long comment
> ./build programs
> ./build macros
The easiest way to install is to just copy the tmp/install/usr/local/yodl-2.15.0/bin/ directory to /usr/local/yodl-2.15.0.
> cp -r tmp/install/usr/local/yodl-2.15.0 /usr/local/yodl-2.15.0
петък, 24 юли 2009 г.
Installing icmake on MAC OS X
> wget http://downloads.sourceforge.net/project/icmake/icmake/7.12.2/icmake_7.12.2.orig.tar.gz?use_mirror=switch
> tar xzvf icmake_7.12.2.orig.tar.gz
> cd icmake_7.12.2
Edit the file INSTALL.im and replace the last lines that begin with "#define" to look like this:
--
export BINDIR="usr/bin"
export SKELDIR="usr/share/icmake"
export MANDIR="usr/share/man"
export LIBDIR="usr/lib/icmake"
export CONFDIR="etc/icmake"
export DOCDIR="usr/share/doc/icmake"
export DOCDOCDIR="usr/share/doc/icmake-doc"
--
(Why? A "cat" is done on INSTALL.im by icm_boostrap, so I have no idea why #defined is used, in a (bash) shell export of the variables is necessary.)
Edit the file "comp/lexer.c" and remove the line:
#define __STDC_VERSION__ 199901L
This line prevents lexer.c from being properly compiled.
> ./icm_bootstrap /usr/local/icmake-7.12.2
> sudo ./icm_install all
> tar xzvf icmake_7.12.2.orig.tar.gz
> cd icmake_7.12.2
Edit the file INSTALL.im and replace the last lines that begin with "#define" to look like this:
--
export BINDIR="usr/bin"
export SKELDIR="usr/share/icmake"
export MANDIR="usr/share/man"
export LIBDIR="usr/lib/icmake"
export CONFDIR="etc/icmake"
export DOCDIR="usr/share/doc/icmake"
export DOCDOCDIR="usr/share/doc/icmake-doc"
--
(Why? A "cat" is done on INSTALL.im by icm_boostrap, so I have no idea why #defined is used, in a (bash) shell export of the variables is necessary.)
Edit the file "comp/lexer.c" and remove the line:
#define __STDC_VERSION__ 199901L
This line prevents lexer.c from being properly compiled.
> ./icm_bootstrap /usr/local/icmake-7.12.2
> sudo ./icm_install all
Абонамент за:
Публикации (Atom)