Age | Commit message (Collapse) | Author |
|
|
|
-Erik
|
|
been working on a new config system on and off for about 6 months
now, but I've never been fully satisfied. Well, I'm finally am
happy with the new config system, so here it is. This completely
removes the old uClibc configuration system, and replaces it with
an entirely new system based on LinuxKernelConf, from
http://www.xs4all.nl/~zippel/lc/
As it turns out, Linus has just merged LinuxKernelConf into Linux
2.5.45, so it looks like I made the right choice.
I have thus far updated only x86. I'll be updating the other
architectures shortly.
-Erik
|
|
|
|
how uClibc handles _init and _fini, allowing shared lib constructors and
destructors to initialize things in the correct sequence. Stefan ported the SH
architecture. I then ported x86, arm, and mips. x86 and arm are working fine,
but I don't think I quite got things correct for mips.
|
|
|
|
-Erik
|
|
PIC code, and use crtbegin.o and crtend.o when compiling non-pic code. As was
caused problems, esp on powerpc...
-Erik
|
|
the C++ compiler to to automagically add include/g++ into the include search
path, and automagically add -lstdc++ and -lm into the set of automatically
linked libraries.
|
|
-Erik
|
|
-Erik
|
|
-Erik
|
|
which could cause incorrect invocations of g++. Cleanup a few things.
Add a new --uclibc-ctors flag allowing one to apply ctor/dtor support
to regular C code.
-Erik
|
|
-Erik
|
|
|
|
-Erik
|
|
like iproute2 and XFree86 from linking.
-Erik
|
|
-Erik
|
|
add a little bit to binary size...
-Erik
|
|
add some fflush calls, since it seems streams are not flushed before
an exec
|
|
|
|
suppress linking (right now, only `-M' does).
|
|
|
|
losing all -Wl calls...
|
|
|
|
-Erik
|
|
|
|
-Erik
|
|
Add in some missing header files (netipx/ipx.h include/lastlog.h
include/sgtty.h include/sys/perm.h)
-Erik
|
|
|
|
support setting DEVEL_PREFIX and BUILD_DIR at runtime instead
of having to recompile the wrapper. Minor changes by me.
|
|
(which was broken) yesterday. Revert that bit.
-Erik
|
|
|
|
things are working perfectly (perhaps I shouln't think so much)
|
|
toolchain to any arbitrary directory...
|
|
Here is the basic theory of operation:
SHARED_LIB_LOADER_PATH/ <The location where the shared lib
loader will be installed and where the
compiler will cause apps to look for it.>
DEVEL_PREFIX/
bin/ <contains gcc, ld, etc for setting PATH=$DEVEL_PREFIX/bin:$PATH>
lib/ <contains all runtime and static libs>
include/ <Where all the header files go>
SYSTEM_DEVEL_PREFIX/
usr/bin/ <contains arch-uclibc-gcc, arch-uclibc-ld, etc that
might be installed by a .deb or .rpm into /usr/bin,
but can happily live under DEVEL_PREFIX>
PREFIX
This is prepended during 'make install's allowing you to shift things to
be installed under some alternate location (such as when building a .deb)
-Erik
|
|
along the line this got messed up...
|
|
issues, and syns things (as far as I am willing) with Dave Schleef's
tree. We may need to go another round or so, but we do seem to be
converging...
|
|
with the new build system...
-Erik
|
|
few tiny fixups here and there from me. Seems to work just fine and
will hopefully be a bit better behaved.
-Erik
|
|
ENV variables only. The current behavior violates the principle of
least surprise...
-Erik
|
|
|
|
else fails. Let <arch>-uclibc-gcc --uclibc-use-build-dir set the
shared lib loader to the one in the builddir's path.
-Erik
|
|
|
|
-Erik
|
|
those behaviors can be invoked from the command line.
|
|
TARGET_PREFIX to allow more flexibility. Also modified the gcc wrapper
to do the right thing if -Wl,--dynamic-linker,xxx is passed on the command
line. The gcc wrapper will also check the env variable UCLIBC_GCC_LDOPT
for a dynamic linker option at runtime (although command line arg overrides
the env variable).
|
|
To build with an uninstaled uClibc, set UCLIBC_GCC=build in your env,
or rename it/symlink to it using a name containing the string "build".
|
|
those who want to should now be able to compile against uClibc without
installing it (using the "build" behavior).
|
|
using BUILD_DIR and uClibc dynamic linker, use the one in the build dir.
If people want the "both dir" behavior, I'll enable it similar to the
"build" and "rpath" behaviors. See the comments in the file for how this
works.
|