aboutsummaryrefslogtreecommitdiff
path: root/configure (follow)
Commit message (Expand)AuthorAgeFilesLines
* protect against long double type mismatches (mainly powerpc for now)•••check in configure to be polite (failing early if we're going to fail) and in vfprintf.c since that is the point at which a mismatching type would be extremely dangerous. Rich Felker2013-08-021-0/+21
* work around gcc 4.8's generation of self-referential mem* functions at -O3Rich Felker2013-08-011-0/+10
* do not include math modules in the default -O3 optimization set•••it's not clear that -O3 helps them, and gcc seems to have floating point optimization bugs that introduce additional failures when -O3 is used on some of these files. Rich Felker2013-07-241-1/+1
* enhance build process to allow selective -O3 optimization•••the motivation for this patch is that the vast majority of libc is code that does not benefit at all from optimizations, but that certain components like string/memory operations can be major performance bottlenecks. at the same time, the old -falign-*=1 options are removed, since they were only beneficial for avoiding bloat when global -O3 was used, and in that case, they may have prevented some of the performance gains. to be the most useful, this patch will need further tuning. in particular, research is needed to determine which components should be built with -O3 by default, and it may be desirable to remove the hard-coded -O3 and instead allow more customization of the optimization level used for selected modules. Rich Felker2013-07-221-12/+54
* fix invalid C in new trycppif tests in configure script•••an empty program is not valid and would be reasonable grounds for the compiler to give an error, which would break these tests. Rich Felker2013-07-181-1/+2
* add build system support for arch endian & float abi variantsRich Felker2013-07-181-0/+32
* treat invalid C as an error even if warnings aren't enabled.Rich Felker2012-12-111-1/+11
* fix error in configure script using >/dev/null in noclobber modeRich Felker2012-11-181-1/+1
* Merge remote-tracking branch 'ppc-port/ppc-squashed'Rich Felker2012-11-141-0/+1
|\
| * PPC port cleaned up, static linking works well now.rofl0r2012-11-131-0/+1
* | fix "configure --prefix=" and improve path/arg handling in configure•••previously, empty string was treated as "use default". this is apparently not compatible with standard configure semantics where an empty prefix puts everything under /. the new logic should be a lot cleaner and not suffer from such issues. Rich Felker2012-11-081-16/+12
|/
* further pcc fixes in configure•••-lpcc only works if -nostdlib is not passed, so it's useless. instead, use -print-file-name to look up the full pathname for libpcc.a, and check whether that succeeds before trying to link with the result. also, silence pcc's junk printed on stdout during tests. Rich Felker2012-10-261-3/+4
* add support for detecting pcc's compiler runtime•••in old versions of pcc, the directory containing libpcc.a was not in the library path, and other options like -print-file-name may have been needed to locate it. however, -print-file-name itself seems to have been added around the same time that the directory was added to the search path, and moreover, I see no evidence that older versions of pcc are capable of building a working musl shared library. thus, it seems reasonable to just test whether -lpcc is accepted. Rich Felker2012-10-261-0/+1
* configure: test not just compiling but linking with -march/-mtune•••pcc wrongly passes any option beginning with -m to the linker, and will break at link time if these options were added to CFLAGS. testing linking lets us catch this at configure time and skip them. Rich Felker2012-10-251-2/+2
* use $CC rather than "$CC" in configure script•••this is necessary to allow $CC with arguments in it Rich Felker2012-10-181-4/+4
* tell the assembler to mark all files as not requiring executable stack•••for some reason this option is undocumented. not sure when it was added, so I'm using a configure test. gcc was already setting the mark correctly for C files, but assembler source files would need ugly .note boilerplate in every single file to achieve this without the option to the assembler. blame whoever thought it would be a good idea to make the stack executable by default rather than doing it the other way around... Rich Felker2012-10-031-0/+7
* microblaze port•••based on initial work by rdp, with heavy modifications. some features including threads are untested because qemu app-level emulation seems to be broken and I do not have a proper system image for testing. Rich Felker2012-09-291-0/+1
* add LIBCC (compiler runtime) logic and override to configure•••this should both fix the issue with ARM needing -lgcc_eh (although that's really a bug in the libgcc build process that's causing considerable bloat, which should be fixed) and make it easier to build musl using clang/llvm in place of gcc. unfortunately I don't know a good way to detect and support pcc's -lpcc since it's not in pcc's default library search path... Rich Felker2012-09-101-0/+7
* get rid of eh_frame bloat•••if needed for debugging, it will be output in the .debug_frame section instead, where it is not part of the loaded program and where the strip command is free to strip it. Rich Felker2012-08-291-3/+12
* add gnu hash support in the dynamic linker•••based on the patches contributed by boris brezillon. Rich Felker2012-08-251-1/+1
* support configuring cross compiling with CROSS_COMPILE prefix variableRich Felker2012-08-141-3/+6
* make configure accept mipselRich Felker2012-08-051-1/+1
* remove configure check disabling shared libraries on mipsRich Felker2012-08-051-4/+0
* disable dynamic linking on mips for now (broken)Rich Felker2012-07-121-0/+5
* initial version of mips (o32) port, based on work by Richard Pennington (rdp)•••basically, this version of the code was obtained by starting with rdp's work from his ellcc source tree, adapting it to musl's build system and coding style, auditing the bits headers for discrepencies with kernel definitions or glibc/LSB ABI or large file issues, fixing up incompatibility with the old binutils from aboriginal linux, and adding some new special cases to deal with the oddities of sigaction and pipe syscall interfaces on mips. at present, minimal test programs work, but some interfaces are broken or missing. threaded programs probably will not link. Rich Felker2012-07-111-0/+1
* configure: only use -ffloat-store on i386•••this option is expensive and only used on old gcc's that lack -fexcess-precision=standed, but it's not needed on non-i386 archs where floating point does not have excess precision anyway. if musl ever supports m68k, i think it will need to be special-cased too. i'm not aware of any other archs with excess precision. Rich Felker2012-07-031-1/+1
* check for ld support of -Bsymbolic-functions; disable shared if not avail•••this issue affects the last gpl2 version of binutils, which some people are still using out of aversion to gpl3. musl requires -Bsymbolic-functions because it's the only way to make a libc.so that's able to operate prior to dynamic linking but that still behaves correctly with respect to global vars that may be moved to the main program via copy relocations. Rich Felker2012-06-071-0/+7
* use -nostdlib in linker tests to avoid possible missing crt/lib issuesRich Felker2012-06-071-1/+1
* avoid linking main program in linker tests•••it's possible that the user has provided a compiler that does not have any libc to link to, so linking a main program is a bad idea. instead, generate an empty shared library with no dependencies. Rich Felker2012-06-071-2/+2
* make configure try to disable stack protector•••in theory we could support stack protector in the libc itself, and users wanting to experiment with such usage could add -fstack-protector to CFLAGS intentionally. but to avoid breakage in the default case, override broken distro-patched gcc that forces stack protector on. Rich Felker2012-06-061-0/+2
* add configure check for gnu linker hash style setting•••some broken distro-provided toolchains have modified gcc to produce only "gnu hash" dynamic hash table by default. as this is unsupported by musl, that results in a non-working libc.so. we detect and switch this on in configure rather than hard-coding it in the Makefile because it's not supported by old binutils versions, but that might not even be relevant since old binutils versions already fail from -Bsymbolic-functions being missing. at some point I may review whether this should just go in the Makefile... Rich Felker2012-06-061-1/+20
* fix configure build/host/target terminology usageRich Felker2012-06-031-13/+14
* yet another try to get the check for gcc right...Rich Felker2012-05-141-1/+1
* fix error in last configure change (lack of escaping)Rich Felker2012-05-141-1/+1
* correct the check for gcc (previous version failed for cross compilers)Rich Felker2012-05-131-1/+1
* add -frounding-math to buildRich Felker2012-05-051-0/+1
* initial commit of configure script•••this script is not based on autoconf; however it attempts to follow the same interface contracts for ease of integration with build systems. it is also not necessary to use musl. manually written config.mak files are still supported, as is building without any config.mak at all as long as you are happy with the default options and you supply at least ARCH on the command line to make. Rich Felker2012-05-041-0/+275