On Monday, October 10, 2016 at 3:53:34 PM UTC+2, Victor Shoup wrote: > > Let me get this straight... > You say that the tarball does not contain a libtool script, but rather, > contains a directory that contains files that will build a libtool script > at compile time. Is that right?
Which tarball? NTL tarball does not contain anything providing libtool, it relies on the availibility of a systemwide one, which is not standard, but can be provided by installing some packages as John does. Unfortunately the mondane user will just feel lost and won't be able to perform this step (or does not want to pollute her system with yet another package). The repackaged tarball Sage ships contains: * the verbatim content of the NTL upstream tarball in a ntl folder, * an additional libtool folder where you can run "./configure" to produce a "libtool" script. Note that all that is contained in this folder was produced running autoreconf on a configure.ac file on a "development" machine. Then when one want to build Sage and its version of ntl on her machine, the "configure" script is run and produces a "libtool" script to be used by the compilation chain in the ntl folder. So you could call this step configuration time or compilation time. What is sure is that calling the "configure" script is performed on the machine where NTL will be compiled, not on the machine where "autoreconf" was run to produce "configure" and "ltmain.sh" from the quite empty "configure.ac". In fact running "configure" on the "development" machine rather than on the "compilation" machine, maybe hoping to provide a universal libtool script, would be wrong. The "configure" and "ltmain.sh" scripts made by autoreconf are meant to be portable, the "libtool" script they produce is much less. So maybe the answer to your question is "yes": the best solution would be that the ntl upstream tarball contains waht is needed to produce the libtool script on the machine where ntl will be compiled. And the answer to the question "how to produce that stuff easily and without changing all of ntl build system" is: * make a quite empty autotools project, that is a configure.ac file like the one at: $ https://github.com/sagemath/sage/blob/master/build/pkgs/ntl/patches/configure.ac * modify ntl's configure script to run the configure script that will be produced by autoreconf at distribution time * modify the ntl's makefile to use the libtool script that will be produced by configure * when you want to ship a new release: $ run autoreconf where configure.ac $ make your tarball Another option would be to migrate all ntl build system to autotools but that would be much more time consuming... with the above steps you just hack to get a portable way to produce a libtool script (and not relying anymore on the user installing a system wide one). -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.