Anonymous user
How To Compile Everything: Difference between revisions
no edit summary
imported>Geofft (Created page with "* Is there a README? ** Read it. * Is it mostly PHP? ** Does it need PHP libraries? ** It probably needs a web server ** Does it need a database? * Is it mostly Python? ** Is...") |
imported>Geofft No edit summary |
||
Line 16:
** Ask someone not me.
* Is it mostly Perl?
** Is there a <code>Makefile.PL</code> at the top level, and no <code>Makefile</code>?
*** Run <code>perl Makefile.PL</code>, then follow the <code>Makefile</code> instructions.
*** If you want to set a prefix, run <code>perl Makefile.PL PREFIX=''/home/geofft''</code>. You don't need to pass the prefix to any other commands.
=== C ===
* Is there a <code>Makefile</code> or <code>GNUmakefile</code>?
** Usually you can just run <code>make</code> to compile it.
** Often you can also run <code>sudo make install</code> to install it systemwide. Sometimes this won't exist, and all you get is compiled code in the same directory.
** If you want to install it, but not systemwide, generally you can use a '''prefix''' variable to make it install elsewhere; for instance I might want to set the prefix to <code>/home/geofft</code> so things are in <code>/home/geofft/bin</code>, etc. If there was just a <code>Makefile</code> and nothing special, try running <code>make PREFIX=''/home/geofft''</code> and <code>make install PREFIX=''/home/geofft''</code>, without sudo. Or read the <code>Makefile</code> or README.
* Is there a <code>configure</code>?
** Usually you can just run <code>./configure</code>, followed by <code>make</code> and <code>sudo make install</code>, as per the <code>Makefile</code> decision branch.
** To set a prefix, run <code>./configure --prefix=''/home/geofft''</code>.
** Running configure will error out if it requires something you don't have installed. But check its output, as it might be skipping something optional but useful, that you should have installed.
* Is there a <code>autogen.sh</code>?
** Make sure you have autoconf and automake installed.
** Run
** Rarely, <code>autogen.sh</code> will also run <code>configure</code> for you; if you want to pass options, you can either rerun <code>./configure</code> yourself, or pass them to <code>./autogen.sh</code>.
* Is there a <code>configure.ac</code> or <code>configure.in</code>, but no <code>autogen.sh</code>?
** Make sure you have autoconf and automake installed.
|