Re: [NEWBIE] Compiling a stock circle I got from ceramicmouse

From: Daniel A. Koepke (dkoepke@circlemud.org)
Date: 01/23/01


On Tue, 23 Jan 2001, Peter Ajamian wrote:

> You're not alone.  I think that one of the most common errors people
> make when submitting a server as a contribution is they neglect to
> delete the generated files (config.*, Makefile, *.o, circle and other
> binaries, etc.).  When someone posts with a problem with compiling a
> contributed server that's the first thing that I think of.

I've always sort of wondered why configure pays attention to config.cache.
It seems to me that there's no practical difference 99% of the time
between running config.status to rewrite the Makefile, etc., or running
configure with the results cached.  I think it'd make much more sense for
configure to always reconfigure completely.  But what do I know?  I've
never actually looked at it hard enough to make a proper judgement,
though.  (So I really do wonder.  I wasn't being sarcastic, for once.)

Anyway, maybe a distclean script or Makefile rule is in order?

--8<- cut ->8--

  #!/bin/sh

  cat << EOF

  This script will delete the following files:

    config.cache config.status config.log src/*.o src/Makefile
    src/conf.h

  If you want to preserve any of these files for any reason, press ^C now.
  Note that if you really are planning to make a distribution, you really
  do want to do this.  If you've been making changes to src/Makefile or
  src/conf.h, you should abort now and move the changes over the .in
  version of these files.  You never should try to make permanent changes
  to an autogenerated file!

  Press ^C to abort...
  Otherwise press ENTER to delete the cruft.
  EOF

  read foo
  rm -f config.cache config.status config.log
  rm -f src/*.o src/Makefile src/conf.h

--8<- fin ->8--                                 (Down, FIDO, down.)

BTW, the advisory notice about making changes to Makefile or conf.h goes
for everyone.  It's a dumb thing to do (and I've done it many times, so I
know).  Don't make changes to an autogenerated file unless you are
planning on making those changes every single time you need to switch
platforms, run config.status, etc.  Patches that add files to be compiled
should be especially careful in this regard.  Don't change someone's
Makefile.  Your patch will stop working if they have to regenerate their
Makefile which is annoying for your users.  And what's annoying for your
users has a funny way of getting annoying to you.  Trust me...


-dak: thinks CircleMUD should have Makefile at its root.

--
   +---------------------------------------------------------------+
   | FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
   | Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
   +---------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/03/01 PST