Today, DJ Delorie wrote:
> The unix default would be like /usr/src. /src doesn't sound like a
> suitable unix default. I wouldn't bother asking for a directory if we
> choose a suitable one for them.
OK, so I hacked in a quick patch to do this, and tried to compile it.
I'm doing this the same way I tested my last patch to setup.exe...
mkdir /oss/bld/cygwin
cd /oss/bld/cygwin
/oss/src/cygwin/src/configure
cd cinstall
make setup.exe
it builds a bunch of stuff in cinstall, then some stuff in zlib,
then dies...
make[1]: Leaving directory `/oss/bld/cygwin/cinstall/zlib'
make: *** No rule to make target
`/oss/bld/cygwin/cinstall/w32api/lib/libole32.a', needed by
`setup.exe'. Stop.
then it dawned on me... w32api is in the parent directory...
cd ../w32api
make
cd ../cinstall
make setup.exe
failed with the same dependency... so something in the Makefile
isn't happy... turns out w32api_lib wasn't set correctly
(probably VPATH is the real problem)... looks like the makefiles
expect that you start make from the root directory. (makes sense)
Ok, no big deal, I guess I was getting lucky before.
cd ..
make
it builds a bunch of files, then
make[1]: Entering directory `/oss/bld/cygwin/cygwin'
make: Entering an unknown directory
make: *** /oss/bld/cygwin/libiberty: No such file or directory. Stop.
make: Leaving an unknown directory
make[1]: *** [/oss/bld/cygwin/libiberty/random.o] Error 2
make[1]: Leaving directory `/oss/bld/cygwin/cygwin'
make: *** [cygwin] Error 2
hmm... I see the libiberty directory in the source tree, but there is
no mention of it in the makefile or configure script. So I did it
by hand:
cd /oss/bld/cygwin
mkdir libiberty
cd libiberty
/oss/src/cygwin/src/libiberty/configure
make
cd ..
make
which now blows up with ....
make[1]: Entering directory `/oss/bld/cygwin/w32api'
make AS="as" CC="gcc" CPPFLAGS="" CFLAGS="-O2
-g" CXXFLAGS="" AR="ar" RANLIB="ranlib" LD="ld" DLLTOOL="dlltool" WINDRES="windres" -C
lib
make[2]: Entering directory `/oss/bld/cygwin/w32api/lib'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/oss/bld/cygwin/w32api/lib'
make[1]: Leaving directory `/oss/bld/cygwin/w32api'
make[1]: Entering directory `/oss/bld/cygwin/cygwin'
make[2]: Entering directory `/oss/bld/cygwin/libiberty'
if [ x"" != x ]; then \
gcc -c -DHAVE_CONFIG_H -g -O2
-I. -I/oss/src/cygwin/src/libiberty/../include -W -Wall -Wtraditional
-pedantic /oss/src/cygwin/sr
c/libiberty/random.c -o pic/random.o; \
else true; fi
gcc -c -DHAVE_CONFIG_H -g -O2
-I. -I/oss/src/cygwin/src/libiberty/../include -W -Wall -Wtraditional
-pedantic /oss/src/cygwin/src/l
ibiberty/random.c
/oss/src/cygwin/src/libiberty/random.c:160: warning: integer constant is
unsigned in ANSI C, signed with -traditional
[... repeated a lot ...]
/oss/src/cygwin/src/libiberty/random.c:167: warning: integer constant is
unsigned in ANSI C, signed with -traditional
make[2]: Leaving directory `/oss/bld/cygwin/libiberty'
make[1]: *** No rule to make target
`/oss/bld/cygwin/cygwin/w32api/lib/libkernel32.a', needed by
`new-cygwin1.dll'. Stop.
make[1]: Leaving directory `/oss/bld/cygwin/cygwin'
make: *** [cygwin] Error 2
arg. OK... something is wrong, I could keep hacking around but it's
late and that's not what I sat down to do a few hours ago.
I've done this before... I've built cygwin from sources with cygwin
before... I don't remember this much trouble. Is it just that the current
cvs make process is a bit broken or did I miss a step? I've checked the
instructions for rebuilding... they haven't changed in a while... and are
a lot simpler than this... configure, make, done. (I'm on current as of
last weekend "experimental" level code for everything, but I don't really
think it's my environment.) Anyone?
I have a fairly straight forward (+9/-9 lines) patch that should do this
without any noticable overhead.... but I'm not just about to post it
untill I can compile and test it.
--
now the forces of openness have a powerful and
unexpected new ally - http://ibm.com/linux
--
Want to unsubscribe from this list?
Check out: http://cygwin.com/ml/#unsubscribe-simple