Discussion:
Needed: volunteer to autoconf Fossil
(too old to reply)
Steve Bennett
2011-07-06 05:11:08 UTC
Permalink
Hi Richard,
I really dislike autoconf - a feeling cultivated through years of experience
trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See http://msteveb.github.com/autosetup/why/
I've
tried to avoid having to use autoconf in Fossil and have been reasonably
successful at that for the first 5 years. But I think we may be nearing the
point where going to autoconf is inevitable. (sigh...)
Certainly something is needed.
So, I'm asking for volunteers for people with better autoconf-foo than me,
to put together an autoconf/automake setup for Fossil. If you are good with
autoconf/automake, please consider contributing your expertise to the
project.
autosetup is designed to be transparently compatible with autoconf for end users.
It is written in Tcl, but does not require Tcl to be installed since it will (automatically)
build a bootstrap version of the Jim Tcl interpreter if another Tcl interpreter is not found.
Only a C compiler is required.

Attached is a patch against the latest fossil trunk which adds autosetup support.
(1) "./configure; make install" should work on all unix systems
Done.
(2) There should be a default Makefile that does not require "configure"
that will work on most common systems simply by running "make".
Yes. Makefile is left in place. configure creates GNUmakefile which takes precedence.
(3) The result should fix tickets
http://www.fossil-scm.org/fossil/info/084eedc010
and
http://www.fossil-scm.org/fossil/info/5ad1d9a23c
Both of those should be addressed, but we need a Haiku tester.
(4) The result should have a 0 Fail-Score according to
https://www.theopensourceway.org/wiki/How_to_tell_if_a_FLOSS_project_is_doomed_to_FAIL
I will leave others to judge this.
(5) Further to (4) above, there needs to be a configuration option that
causes the result to link against a system SQLite library rather than using
the built-in SQLite library.
--disable-internal-sqlite Don't use the internal sqlite, use the system one
(6) There should be a configure option to enable static linking, in order to
simplify the generation of binaries for use inside chroot jails.
--static Link a static executable

But probably won't work on any platform except Linux, and even there glibc
doesn't not like to be statically linked :-(
(7) There should be a configure option to enable and disable SSL support.
--with-openssl=path|auto|none Look for openssl in the given path, or auto or none
(8) There should be a configure option to enable and disable command-line
editing support for the "fossil sql" command.
--disable-lineedit Disable line editing

Actually, previously line editing was always disabled.
(9) There should be a configure option to enable FOSSIL_DEBUG.
--fossil-debug Build with fossil debugging enabled
(10) The src/makemake.tcl script should continue to work - it should still
build out the various windows makefiles and the unix "main.mk" file. In
other words, autoconf should make use of main.mk.
Yes. Only minor modifications required.
(11) Bonus points if you can get a configure script that can be used to
cross-compile Fossil from one unix platform to another, and double bonus
points if you can get a configure script that will cross-compile Fossil on
Linux targeting windows!
Yes. With --host I have cross compiled Mac OS X -> arm-linux,
x86-linux -> qnx-mips, x86-linux -> mingw32 as well as native builds
on Mac OS X, cygwin and x86-linux.
If you are willing to help with this, your contribution will be greatly
appreciated. Tnx.
In addition to the attached patch, autosetup needs to be installed in the project.
(It is bundled with the project in order to avoid any dependencies)

The easiest way is to fetch it via git or a tar/zip download at: https://github.com/msteveb/autosetup

And then from the fossil source directory, run: <autosetup-location>/autosetup --install
Alternatively I can provide a patch which does this.

Feedback is welcome.
There are a number of improvements which could be made (.e.g. for installation)
which would require more changes to the current makemake.tcl

Cheers,
Steve

--
µWeb: Embedded Web Framework - http://uweb.workware.net.au/
WorkWare Systems Pty Ltd
W: www.workware.net.au P: +61 434 921 300
E: ***@workware.net.au F: +61 7 3391 6002
Steve Bennett
2011-07-06 05:19:21 UTC
Permalink
Post by Steve Bennett
In addition to the attached patch, autosetup needs to be installed in the project.
(It is bundled with the project in order to avoid any dependencies)
The easiest way is to fetch it via git or a tar/zip download at: https://github.com/msteveb/autosetup
And then from the fossil source directory, run: <autosetup-location>/autosetup --install
Alternatively I can provide a patch which does this.
Here's the patch which adds autosetup

--
µWeb: Embedded Web Framework - http://uweb.workware.net.au/
WorkWare Systems Pty Ltd
W: www.workware.net.au P: +61 434 921 300
E: ***@workware.net.au F: +61 7 3391 6002
Eric
2011-07-06 21:30:46 UTC
Permalink
Post by Steve Bennett
Hi Richard,
I really dislike autoconf - a feeling cultivated through years of experience
trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See http://msteveb.github.com/autosetup/why/
Not wishing to rain on anyone's parade, but, as it says in the autoconf
info page,

"Those who do not understand Autoconf are condemned to reinvent it,
poorly. "

Maybe not, but your first reference from the above page is a bit OTT (as
some of the comments below it say).

Regards,

Eric
Steve Bennett
2011-07-06 22:31:02 UTC
Permalink
Post by Eric
Post by Steve Bennett
Hi Richard,
I really dislike autoconf - a feeling cultivated through years of experience
trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See http://msteveb.github.com/autosetup/why/
Not wishing to rain on anyone's parade, but, as it says in the autoconf
info page,
"Those who do not understand Autoconf are condemned to reinvent it,
poorly. "
All this says is "this is a complex problem and you can never solve it
better than the way we solved it".

This is not conducive to progress.
In building autosetup, I've learnt more about autoconf than I ever wanted
to know :-)
Post by Eric
Maybe not, but your first reference from the above page is a bit OTT (as
some of the comments below it say).
Indeed. And just complaining about something without offering an alternative
doesn't help much. autoconf isn't terrible, but it can be a frustrating experience.

Cheers,
Steve

--
µWeb: Embedded Web Framework - http://uweb.workware.net.au/
WorkWare Systems Pty Ltd
W: www.workware.net.au P: +61 434 921 300
E: ***@workware.net.au F: +61 7 3391 6002
Matt Welland
2011-07-07 04:22:39 UTC
Permalink
As an end user this appears to the best alternative I've seen so far. The
fact that autosetup presents a familiar ./configure && make interface is
fantastic - if it really works as advertised.

Does the cross compilation really work? I'd really like to put fossil on my
n900 but I don't want to set up scratchbox (again) right now.

Matt
-=-
Post by Steve Bennett
Post by Eric
Post by Steve Bennett
Hi Richard,
I really dislike autoconf - a feeling cultivated through years of experience
trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See
http://msteveb.github.com/autosetup/why/
Post by Eric
Not wishing to rain on anyone's parade, but, as it says in the autoconf
info page,
"Those who do not understand Autoconf are condemned to reinvent it,
poorly. "
All this says is "this is a complex problem and you can never solve it
better than the way we solved it".
This is not conducive to progress.
In building autosetup, I've learnt more about autoconf than I ever wanted
to know :-)
Post by Eric
Maybe not, but your first reference from the above page is a bit OTT (as
some of the comments below it say).
Indeed. And just complaining about something without offering an alternative
doesn't help much. autoconf isn't terrible, but it can be a frustrating experience.
Cheers,
Steve
--
µWeb: Embedded Web Framework - http://uweb.workware.net.au/
WorkWare Systems Pty Ltd
W: www.workware.net.au P: +61 434 921 300
_______________________________________________
fossil-users mailing list
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Steve Bennett
2011-07-07 06:31:32 UTC
Permalink
As an end user this appears to the best alternative I've seen so far. The fact that autosetup presents a familiar ./configure && make interface is fantastic - if it really works as advertised.
Does the cross compilation really work? I'd really like to put fossil on my n900 but I don't want to set up scratchbox (again) right now.
Matt
-=-
$ ./configure --host=mips-unknown-nto-qnx6.5.0
Host System...mips-unknown-nto-qnx6.5.0
Build System...i686-pc-linux-gnu
C compiler...ccache mips-unknown-nto-qnx6.5.0-gcc -g -O2
C++ compiler...ccache mips-unknown-nto-qnx6.5.0-c++ -g -O2
Checking for stdlib.h...ok
Checking for stdint.h...ok
Checking for inttypes.h...ok
Checking for uint32_t...ok
Checking for uint16_t...ok
Checking for int16_t...ok
Checking for uint8_t...ok
Checking for pread...ok
Checking for tclsh...ok
Checking for zlib.h...ok
Checking libs for inflateEnd...-lz
Checking for ssl via pkg-config...ok
HTTP support enabled
Checking for stdio.h...ok
Checking for readline/readline.h...not found
Checking for editline/readline.h...not found
Checking libs for gethostbyname...no
Checking libs for socket...-lsocket
Checking for getpassphrase...not found
Checking libs for getpass...none needed
Created Makefile from Makefile.in
autoconfig.h is unchanged
$ make
cc -o ./bld/translate ./src/translate.c
./bld/translate ./src/add.c >./bld/add_.c
./bld/translate ./src/allrepo.c >./bld/allrepo_.c
./bld/translate ./src/attach.c >./bld/attach_.c
./bld/translate ./src/bag.c >./bld/bag_.c
...snip...
./bld/translate ./src/zip.c >./bld/zip_.c
cc -o ./bld/mkindex ./src/mkindex.c
./bld/mkindex ./bld/add_.c ./bld/allrepo_.c ./bld/attach_.c ./bld/bag_.c ./bld/bisect_.c ./bld/blob_.c ./bld/branch_.c ./bld/browse_.c ./bld/captcha_.c ./bld/cgi_.c ./bld/checkin_.c ./bld/checkout_.c ./bld/clearsign_.c ./bld/clone_.c ./bld/comformat_.c ./bld/configure_.c ./bld/content_.c ./bld/db_.c ./bld/delta_.c ./bld/deltacmd_.c ./bld/descendants_.c ./bld/diff_.c ./bld/diffcmd_.c ./bld/doc_.c ./bld/encode_.c ./bld/event_.c ./bld/export_.c ./bld/file_.c ./bld/finfo_.c ./bld/glob_.c ./bld/graph_.c ./bld/gzip_.c ./bld/http_.c ./bld/http_socket_.c ./bld/http_ssl_.c ./bld/http_transport_.c ./bld/import_.c ./bld/info_.c ./bld/leaf_.c ./bld/login_.c ./bld/main_.c ./bld/manifest_.c ./bld/md5_.c ./bld/merge_.c ./bld/merge3_.c ./bld/name_.c ./bld/path_.c ./bld/pivot_.c ./bld/popen_.c ./bld/pqueue_.c ./bld/printf_.c ./bld/rebuild_.c ./bld/report_.c ./bld/rss_.c ./bld/schema_.c ./bld/search_.c ./bld/setup_.c ./bld/sha1_.c ./bld/shun_.c ./bld/skins_.c ./bld/sqlcmd_.c ./bld/stash_.c ./bld/stat_.c ./bld/style_.c ./bld/sync_.c ./bld/tag_.c ./bld/tar_.c ./bld/th_main_.c ./bld/timeline_.c ./bld/tkt_.c ./bld/tktsetup_.c ./bld/undo_.c ./bld/update_.c ./bld/url_.c ./bld/user_.c ./bld/verify_.c ./bld/vfile_.c ./bld/wiki_.c ./bld/wikiformat_.c ./bld/winhttp_.c ./bld/xfer_.c ./bld/zip_.c >bld/page_index.h
cc -o ./bld/makeheaders ./src/makeheaders.c
awk '{ printf "#define MANIFEST_UUID \"%s\"\n", $1}' ./src/../manifest.uuid >./bld/VERSION.h
awk '{ printf "#define MANIFEST_VERSION \"[%.10s]\"\n", $1}' ./src/../manifest.uuid >>./bld/VERSION.h
awk '$1=="D"{printf "#define MANIFEST_DATE \"%s %s\"\n", substr($2,1,10),substr($2,12,8)}' ./src/../manifest >>./bld/VERSION.h
./bld/makeheaders ./bld/add_.c:./bld/add.h ./bld/allrepo_.c:./bld/allrepo.h ./bld/attach_.c:./bld/attach.h ./bld/bag_.c:./bld/bag.h ./bld/bisect_.c:./bld/bisect.h ./bld/blob_.c:./bld/blob.h ./bld/branch_.c:./bld/branch.h ./bld/browse_.c:./bld/browse.h ./bld/captcha_.c:./bld/captcha.h ./bld/cgi_.c:./bld/cgi.h ./bld/checkin_.c:./bld/checkin.h ./bld/checkout_.c:./bld/checkout.h ./bld/clearsign_.c:./bld/clearsign.h ./bld/clone_.c:./bld/clone.h ./bld/comformat_.c:./bld/comformat.h ./bld/configure_.c:./bld/configure.h ./bld/content_.c:./bld/content.h ./bld/db_.c:./bld/db.h ./bld/delta_.c:./bld/delta.h ./bld/deltacmd_.c:./bld/deltacmd.h ./bld/descendants_.c:./bld/descendants.h ./bld/diff_.c:./bld/diff.h ./bld/diffcmd_.c:./bld/diffcmd.h ./bld/doc_.c:./bld/doc.h ./bld/encode_.c:./bld/encode.h ./bld/event_.c:./bld/event.h ./bld/export_.c:./bld/export.h ./bld/file_.c:./bld/file.h ./bld/finfo_.c:./bld/finfo.h ./bld/glob_.c:./bld/glob.h ./bld/graph_.c:./bld/graph.h ./bld/gzip_.c:./bld/gzip.h ./bld/http_.c:./bld/http.h ./bld/http_socket_.c:./bld/http_socket.h ./bld/http_ssl_.c:./bld/http_ssl.h ./bld/http_transport_.c:./bld/http_transport.h ./bld/import_.c:./bld/import.h ./bld/info_.c:./bld/info.h ./bld/leaf_.c:./bld/leaf.h ./bld/login_.c:./bld/login.h ./bld/main_.c:./bld/main.h ./bld/manifest_.c:./bld/manifest.h ./bld/md5_.c:./bld/md5.h ./bld/merge_.c:./bld/merge.h ./bld/merge3_.c:./bld/merge3.h ./bld/name_.c:./bld/name.h ./bld/path_.c:./bld/path.h ./bld/pivot_.c:./bld/pivot.h ./bld/popen_.c:./bld/popen.h ./bld/pqueue_.c:./bld/pqueue.h ./bld/printf_.c:./bld/printf.h ./bld/rebuild_.c:./bld/rebuild.h ./bld/report_.c:./bld/report.h ./bld/rss_.c:./bld/rss.h ./bld/schema_.c:./bld/schema.h ./bld/search_.c:./bld/search.h ./bld/setup_.c:./bld/setup.h ./bld/sha1_.c:./bld/sha1.h ./bld/shun_.c:./bld/shun.h ./bld/skins_.c:./bld/skins.h ./bld/sqlcmd_.c:./bld/sqlcmd.h ./bld/stash_.c:./bld/stash.h ./bld/stat_.c:./bld/stat.h ./bld/style_.c:./bld/style.h ./bld/sync_.c:./bld/sync.h ./bld/tag_.c:./bld/tag.h ./bld/tar_.c:./bld/tar.h ./bld/th_main_.c:./bld/th_main.h ./bld/timeline_.c:./bld/timeline.h ./bld/tkt_.c:./bld/tkt.h ./bld/tktsetup_.c:./bld/tktsetup.h ./bld/undo_.c:./bld/undo.h ./bld/update_.c:./bld/update.h ./bld/url_.c:./bld/url.h ./bld/user_.c:./bld/user.h ./bld/verify_.c:./bld/verify.h ./bld/vfile_.c:./bld/vfile.h ./bld/wiki_.c:./bld/wiki.h ./bld/wikiformat_.c:./bld/wikiformat.h ./bld/winhttp_.c:./bld/winhttp.h ./bld/xfer_.c:./bld/xfer.h ./bld/zip_.c:./bld/zip.h ./src/sqlite3.h ./src/th.h ./bld/VERSION.h
touch ./bld/headers
mips-unknown-nto-qnx6.5.0-gcc -g -O2 -DHAVE_AUTOCONFIG_H -I. -I./src -o ./bld/add.o -c ./bld/add_.c
mips-unknown-nto-qnx6.5.0-gcc -g -O2 -DHAVE_AUTOCONFIG_H -I. -I./src -o ./bld/allrepo.o -c ./bld/allrepo_.c
mips-unknown-nto-qnx6.5.0-gcc -g -O2 -DHAVE_AUTOCONFIG_H -I. -I./src -o ./bld/attach.o -c ./bld/attach_.c
...snip...
mips-unknown-nto-qnx6.5.0-gcc -g -O2 -DHAVE_AUTOCONFIG_H -I. -I./src -I./src -c ./src/th_lang.c -o ./bld/th_lang.o
mips-unknown-nto-qnx6.5.0-gcc -g -O2 -DHAVE_AUTOCONFIG_H -I. -I./src -DSQLITE_OMIT_LOAD_EXTENSION=1 -DSQLITE_THREADSAFE=0 -DSQLITE_DEFAULT_FILE_FORMAT=4 -DSQLITE_ENABLE_STAT2 -Dlocaltime=fossil_localtime -DSQLITE_ENABLE_LOCKING_STYLE=0 -c ./src/sqlite3.c -o ./bld/sqlite3.o
mips-unknown-nto-qnx6.5.0-gcc -g -O2 -DHAVE_AUTOCONFIG_H -o fossil ./bld/add.o ./bld/allrepo.o ./bld/attach.o ./bld/bag.o ./bld/bisect.o ./bld/blob.o ./bld/branch.o ./bld/browse.o ./bld/captcha.o ./bld/cgi.o ./bld/checkin.o ./bld/checkout.o ./bld/clearsign.o ./bld/clone.o ./bld/comformat.o ./bld/configure.o ./bld/content.o ./bld/db.o ./bld/delta.o ./bld/deltacmd.o ./bld/descendants.o ./bld/diff.o ./bld/diffcmd.o ./bld/doc.o ./bld/encode.o ./bld/event.o ./bld/export.o ./bld/file.o ./bld/finfo.o ./bld/glob.o ./bld/graph.o ./bld/gzip.o ./bld/http.o ./bld/http_socket.o ./bld/http_ssl.o ./bld/http_transport.o ./bld/import.o ./bld/info.o ./bld/leaf.o ./bld/login.o ./bld/main.o ./bld/manifest.o ./bld/md5.o ./bld/merge.o ./bld/merge3.o ./bld/name.o ./bld/path.o ./bld/pivot.o ./bld/popen.o ./bld/pqueue.o ./bld/printf.o ./bld/rebuild.o ./bld/report.o ./bld/rss.o ./bld/schema.o ./bld/search.o ./bld/setup.o ./bld/sha1.o ./bld/shun.o ./bld/skins.o ./bld/sqlcmd.o ./bld/stash.o ./bld/stat.o ./bld/style.o ./bld/sync.o ./bld/tag.o ./bld/tar.o ./bld/th_main.o ./bld/timeline.o ./bld/tkt.o ./bld/tktsetup.o ./bld/undo.o ./bld/update.o ./bld/url.o ./bld/user.o ./bld/verify.o ./bld/vfile.o ./bld/wiki.o ./bld/wikiformat.o ./bld/winhttp.o ./bld/xfer.o ./bld/zip.o ./bld/shell.o ./bld/th.o ./bld/th_lang.o ./bld/sqlite3.o -lz -lssl -lcrypto -lsocket
$ file fossil
fossil: ELF 32-bit MSB executable, MIPS, MIPS-II version 1, dynamically linked (uses shared libs), with unknown capability 0x41000000 = 0xf676e75, not stripped

--
µWeb: Embedded Web Framework - http://uweb.workware.net.au/
WorkWare Systems Pty Ltd
W: www.workware.net.au P: +61 434 921 300
E: ***@workware.net.au F: +61 7 3391 6002
Stephan Beal
2011-07-07 07:03:00 UTC
Permalink
Post by Matt Welland
Does the cross compilation really work?
...
$ ./configure --host=mips-unknown-nto-qnx6.5.0
Post by Matt Welland
Host System...mips-unknown-nto-qnx6.5.0
...
$ file fossil
fossil: ELF 32-bit MSB executable, MIPS, MIPS-II version 1, dynamically
linked (uses shared libs), with unknown capability 0x41000000 = 0xf676e75,
not stripped
i'm convinced :). That would certainly greatly simplify the release of the
pre-built fossil binaries.

i spent about half an hour reading through autosetup's docs last night and i
will certainly be trying it out on a tree or three of mine. i don't know
tcl, but a tool like this one provides a good motivator for learning it.
--
----- stephan beal
http://wanderinghorse.net/home/stephan/
Steve Landers
2011-07-07 07:25:51 UTC
Permalink
Post by Steve Bennett
Post by Matt Welland
Does the cross compilation really work?
...
$ ./configure --host=mips-unknown-nto-qnx6.5.0
Host System...mips-unknown-nto-qnx6.5.0
...
$ file fossil
fossil: ELF 32-bit MSB executable, MIPS, MIPS-II version 1, dynamically linked (uses shared libs), with unknown capability 0x41000000 = 0xf676e75, not stripped
i'm convinced :). That would certainly greatly simplify the release of the pre-built fossil binaries.
i spent about half an hour reading through autosetup's docs last night and i will certainly be trying it out on a tree or three of mine. i don't know tcl, but a tool like this one provides a good motivator for learning it.
It's actually quite simple if you forget formal grammars and think "command arg arg arg ....". Simple but not simplistic, you get sophisticated features like event driven I/O, threads (if you want them, but mostly you don't need to), co-routines, full I18N and localization, single file deployment via starkits, etc.

And there's plenty of Tcler's on this list who will help you :)

A good place to start is the Tclers Wiki at http://wiki.tcl.tk ... perhaps starting at http://wiki.tcl.tk/20789

Steve
Richard Hipp
2011-07-09 20:28:50 UTC
Permalink
Post by Steve Bennett
Post by Steve Bennett
Hi Richard,
I really dislike autoconf - a feeling cultivated through years of experience
trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See
http://msteveb.github.com/autosetup/why/
Not wishing to rain on anyone's parade, but, as it says in the autoconf
info page,
"Those who do not understand Autoconf are condemned to reinvent it,
poorly. "
I rather like Steve's reimplementation. It uses TCL. But for systems that
do not have TCL installed by default, it includes the complete source code
for JimTcl which it automatically compiles and runs. Unlike autoconf, I'm
actual able to follow the code for Steve's autosetup.

My only complaint with autosetup is that autosetup itself is maintained on
github :-(

The autosetup version of Fossil is now available on a branch. Some
additional work is needed.

http://www.fossil-scm.org/fossil/timeline?r=autosetup
Post by Steve Bennett
Maybe not, but your first reference from the above page is a bit OTT (as
some of the comments below it say).
Regards,
Eric
_______________________________________________
fossil-users mailing list
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
--
D. Richard Hipp
***@sqlite.org
Matt Welland
2011-07-09 21:26:51 UTC
Permalink
Worked great for me on two Ubuntu machines. One mildly unusual thing, "make
install" uses mv to put the binary in /usr/local/bin. Normally I think
autoconf generated Makefiles will use install or a sh script to emulated
install and keeps the executable in the build dir. Probably no big deal but
why deviate from what is familiar?

Matt
-=-
Post by Richard Hipp
Post by Steve Bennett
Post by Steve Bennett
Hi Richard,
I really dislike autoconf - a feeling cultivated through years of experience
trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See
http://msteveb.github.com/autosetup/why/
Not wishing to rain on anyone's parade, but, as it says in the autoconf
info page,
"Those who do not understand Autoconf are condemned to reinvent it,
poorly. "
I rather like Steve's reimplementation. It uses TCL. But for systems that
do not have TCL installed by default, it includes the complete source code
for JimTcl which it automatically compiles and runs. Unlike autoconf, I'm
actual able to follow the code for Steve's autosetup.
My only complaint with autosetup is that autosetup itself is maintained on
github :-(
The autosetup version of Fossil is now available on a branch. Some
additional work is needed.
http://www.fossil-scm.org/fossil/timeline?r=autosetup
Post by Steve Bennett
Maybe not, but your first reference from the above page is a bit OTT (as
some of the comments below it say).
Regards,
Eric
_______________________________________________
fossil-users mailing list
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
--
D. Richard Hipp
_______________________________________________
fossil-users mailing list
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Steve Bennett
2011-07-10 02:52:48 UTC
Permalink
Worked great for me on two Ubuntu machines. One mildly unusual thing, "make install" uses mv to put the binary in /usr/local/bin. Normally I think autoconf generated Makefiles will use install or a sh script to emulated install and keeps the executable in the build dir. Probably no big deal but why deviate from what is familiar?
That's the way it worked previously.
I tried to be as unobtrusive as possible with the initial version.

Cheers,
Steve
Matt
-=-
Post by Steve Bennett
Hi Richard,
I really dislike autoconf - a feeling cultivated through years of experience
trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See http://msteveb.github.com/autosetup/why/
Not wishing to rain on anyone's parade, but, as it says in the autoconf
info page,
"Those who do not understand Autoconf are condemned to reinvent it,
poorly. "
I rather like Steve's reimplementation. It uses TCL. But for systems that do not have TCL installed by default, it includes the complete source code for JimTcl which it automatically compiles and runs. Unlike autoconf, I'm actual able to follow the code for Steve's autosetup.
My only complaint with autosetup is that autosetup itself is maintained on github :-(
The autosetup version of Fossil is now available on a branch. Some additional work is needed.
http://www.fossil-scm.org/fossil/timeline?r=autosetup
Maybe not, but your first reference from the above page is a bit OTT (as
some of the comments below it say).
Regards,
Eric
_______________________________________________
fossil-users mailing list
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
--
D. Richard Hipp
_______________________________________________
fossil-users mailing list
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
_______________________________________________
fossil-users mailing list
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
--
µWeb: Embedded Web Framework - http://uweb.workware.net.au/
WorkWare Systems Pty Ltd
W: www.workware.net.au P: +61 434 921 300
E: ***@workware.net.au F: +61 7 3391 6002

Steve Bennett
2011-07-10 02:51:11 UTC
Permalink
Post by Eric
Post by Steve Bennett
Hi Richard,
I really dislike autoconf - a feeling cultivated through years of experience
trying to use it. And I think I'm probably not alone in that feeling.
You are very much not alone. See http://msteveb.github.com/autosetup/why/
Not wishing to rain on anyone's parade, but, as it says in the autoconf
info page,
"Those who do not understand Autoconf are condemned to reinvent it,
poorly. "
I rather like Steve's reimplementation. It uses TCL. But for systems that do not have TCL installed by default, it includes the complete source code for JimTcl which it automatically compiles and runs. Unlike autoconf, I'm actual able to follow the code for Steve's autosetup.
My only complaint with autosetup is that autosetup itself is maintained on github :-(
The autosetup version of Fossil is now available on a branch. Some additional work is needed.
http://www.fossil-scm.org/fossil/timeline?r=autosetup
Great. Bug reports and requests are welcome.

I did notice one small bug in that version. See fix attached.

Cheers,
Steve

--
µWeb: Embedded Web Framework - http://uweb.workware.net.au/
WorkWare Systems Pty Ltd
W: www.workware.net.au P: +61 434 921 300
E: ***@workware.net.au F: +61 7 3391 6002
paolo lulli
2011-07-07 09:15:58 UTC
Permalink
What about a try with 'autoproject' to give a start ?

Regards,
P.

--
www.lulli.net
Bill Burdick
2011-07-07 18:08:16 UTC
Permalink
Has anyone looked at cmake? A lot of projects have switched from autoconf
to cmake (MySQL, KDE, Blender, Wireshark, ...).

Bill
Post by paolo lulli
What about a try with 'autoproject' to give a start ?
Regards,
P.
--
www.lulli.net
_______________________________________________
fossil-users mailing list
http://lists.fossil-scm.org:8080/cgi-bin/mailman/listinfo/fossil-users
Remigiusz Modrzejewski
2011-07-07 19:09:25 UTC
Permalink
Post by Bill Burdick
Has anyone looked at cmake? A lot of projects have switched from autoconf
to cmake (MySQL, KDE, Blender, Wireshark, ...).
Read the thread to see why cmake was already rejected.


Kind regards,
Remigiusz Modrzejewski
Continue reading on narkive:
Loading...