Hi! I've converted the GiNaC sources to use the "automake" tool. This involved several changes: - created "Makefile.am" files - added several support files: "config.guess", "config.sub", "install-sh", "missing", "mkinstalldirs", "ltconfig", "ltmain.sh" - "src" directory renamed to "ginac" and moved header files from "include" to "ginac", removed the "include" directory (it is easier to build and install GiNaC with automake if things are arranged this way) Doing a "cvs update -P GiNaC" should get you the new files (and remove the obsolete ones). I have tested "configure", "make", "make check", "make install", "make install-strip", "make uninstall", "make clean", "make distclean" and "make maintainer-clean" and they seem to work. I haven't tried whether the package created by "make dist" actually works. Misc notes: - The configuration files which are supposed to be edited manually are the "Makefile.am" files, "acconfig.h", "acinclude.m4" and "configure.in". All other config files like the "*.in" files are generated by automake&Co. - More specifically: - acinclude.m4 -> aclocal.m4 by aclocal - configure.in -> configure by autoconf - acconfig.h -> config.h.in by autoheader - Makefile.am -> Makefile.in by automake - The version of the shared libginac.so is not set correctly. - Both static and shared library version are built by default. Say "configure --disable-shared" to only build the static library (makes for quicker development). - Saying "make" at the top level will build everything (libginac, ginsh, check, doc). To only recompile libginac, cd to "ginac" and say "make" there. - The automake-generated makefiles automatically store dependency information in hidden ".deps" directories. - The doc/Makefile.am is empty as of yet. Don't worry, I've saved the old doc/Makefile.in and will integrate this later. - The files "AUTHORS", "ChangeLog", "NEWS" and "README" have to be filled with something reasonable. Supposedly, CVS is able to create "ChangeLog" files, but I haven't yet found out how. - The official top-level header to include for programs using GiNaC is now <ginac/ginac.h>. - Ideally, all include files which go to /usr/include/ginac should be designed to not include themselves mutually. The top-level <ginac/ginac.h> should include all of them in the right order. - Also, our include files should #define __GINAC_ADD_H__ instead of #define _ADD_H_ to avoid possible conflicts with user include files. - We should probably include the GNU standard disclaimer at the top of all sources and headers. - For more information, please refer to the automake and autoconf docs, and to the GNU Coding Standards - I will try to fix the abovementioned bugs and "automakeify" xloops tomorrow. I hope I didn't cause too much confusion... :-) Bye, Christian -- / Coding on PowerPC and proud of it \/ http://www.uni-mainz.de/~bauec002/
participants (1)
-
Christian Bauer