summaryrefslogtreecommitdiffstats
path: root/llvm/tools/llvm-shlib
Commit message (Collapse)AuthorAgeFilesLines
...
* Adding llvm-shlib to CMake build system with a few new bells and whistlesChris Bieneman2014-10-232-0/+108
| | | | | | | | | | | | | | | | | Summary: This patch adds a new CMake build setting LLVM_BUILD_LLVM_DYLIB, which defaults to OFF. When set to ON, this will generate a shared library containing most of LLVM. The contents of the shared library can be overriden by specifying LLVM_DYLIB_COMPONENTS. LLVM_DYLIB_COMPONENTS can be set to a semi-colon delimited list of any LLVM components that you llvm-config can resolve. On Windows, unless you are using Cygwin, you must specify an explicit symbol export file using LLVM_EXPORTED_SYMBOL_FILE. On Cygwin and all unix-like platforms if you do not specify LLVM_EXPORTED_SYMBOL_FILE, an export file containing only the LLVM C API will be auto-generated from the list of LLVM components specified in LLVM_DYLIB_COMPONENTS. Reviewers: rnk Reviewed By: rnk Subscribers: rnk, llvm-commits Differential Revision: http://reviews.llvm.org/D5890 llvm-svn: 220490
* Revert of 214418:Sylvestre Ledru2014-08-011-5/+0
| | | | | | | | | "Create a default symver on Linux like ELF OSes." Fails the build under Debian with ld.gold: /usr/bin/ld.gold: --default-symver: unknown option llvm-svn: 214482
* Create a default symver on Linux like ELF OSes.Eric Christopher2014-07-311-0/+5
| | | | | | Patch by Adam Jackson. llvm-svn: 214418
* autoconf: Fix soname for libLLVM-Major.Minor.so (2nd try)Tom Stellard2014-05-131-2/+2
| | | | | | | | | | | | | We were using libLLVM-Major.Minor.Patch.so for the soname, but we need the soname to stay consistent for all Major.Minor.* releases otherwise operating system distributors will need to rebuild all packages that link with LLVM every time there is a new point release. This patch also reverses the compatibility symlink, so libLLVM-Major.Minor.Patch.so is now a symlink that points to libLLVM-Major-Minor.so. llvm-svn: 208721
* Revert "autoconf: Fix soname for libLLVM-Major.Minor.so"Tom Stellard2014-05-131-2/+2
| | | | | | | | | This reverts commit r208708. I forgot to run make clean before testing this and it broke tools linking. llvm-svn: 208709
* autoconf: Fix soname for libLLVM-Major.Minor.soTom Stellard2014-05-131-2/+2
| | | | | | | | | | | | | We were using libLLVM-Major.Minor.Patch.so for the soname, but we need the soname to stay consistent for all Major.Minor.* releases otherwise operating system distributors will need to rebuild all packages that link with LLVM every time there is a new point release. This patch also reverses the compatibility symlink, so libLLVM-Major.Minor.Patch.so is now a symlink that points to libLLVM-Major-Minor.so. llvm-svn: 208708
* Add patch level to llvm version in CMake and AutoconfTom Stellard2014-03-031-0/+2
| | | | | | | | | | The shared library generated by autoconf will now be called libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR).$(VERSION_PATCH)$(VERSION_SUFFIX).so and a symlink named libLLVM-$(VERSION_MAJOR).$(VERSION_MINOR)$(VERSION_SUFFIX).so will also be created in the install directory. llvm-svn: 202720
* Centralize the handling of install_name and rpath.Rafael Espindola2014-02-281-8/+0
| | | | | | | | | | | This centralizes the Makefile handling of -install_name and -rpath. It also moves the cmake build to using @rpath. The reason being that libclang needs it, and it works for everything else. A followup patch will move clang to using this and then there will be a single point to edit to support other systems. llvm-svn: 202499
* Strip dead code when linking by default with BFD ld (linux, ...) and ld64 ↵Nico Weber2013-12-271-3/+0
| | | | | | | | | | | | | (os x). This reduces the size of clang-format from 22 MB to 1.8 MB, diagtool goes from 21 MB to 2.8 MB, libclang.so goes from 29 MB to 20 MB, etc. The size of the bin/ folder shrinks from 270 MB to 200 MB. Targets that support plugins and don't already use EXPORTED_SYMBOL_FILE (which libclang and libLTO already do) can set NO_DEAD_STRIP to opt out. llvm-svn: 198087
* Rules adjustments in order to build on DragonFly BSD.Rafael Espindola2013-10-311-2/+2
| | | | | | Patch by Robin Hahling. llvm-svn: 193750
* Use @rpath for libraries rather than @executable_path on OSX.Eric Christopher2013-08-021-1/+1
| | | | | | Patch by Benjamin Scarlet! llvm-svn: 187641
* The build system is currently miss-identifying GNU/kFreeBSD as FreeBSD.Sylvestre Ledru2013-07-011-3/+3
| | | | | | | | | | | | | | | | | This kind of simplification is sometimes useful, but in general it's not correct. As GNU/kFreeBSD is an hybrid system, for kernel-related issues we want to match the build definitions used for FreeBSD, whereas for userland-related issues we want to match the definitions used for other systems with Glibc. The current modification adjusts the build system so that they can be distinguished, and explicitly adds GNU/kFreeBSD to the build checks in which it belongs. Fixes bug #16444. Patch by Robert Millan in the context of Debian. llvm-svn: 185311
* Remove "-Wl,-seg1addr -Wl,0xE0000000" from link options.Bob Wilson2013-06-041-2/+1
| | | | | | | | Specifying the load address for Darwin i386 dylibs was a performance optimization for dyld that is not relevant for x86_64 or arm. We can just remove this now. llvm-svn: 183230
* Add support for the OpenBSD for Bitrig.Eric Christopher2012-08-061-1/+1
| | | | | | Patch by David Hill. llvm-svn: 161344
* openbsd doesn't support soname, patch by Brad Smith!Chris Lattner2012-04-251-0/+3
| | | | llvm-svn: 155536
* Fix the build under Debian GNU/Hurd.Sylvestre Ledru2012-04-111-2/+2
| | | | | | Thanks to Pino Toscano for the patch llvm-svn: 154500
* Set soname for FreeBSD as well.Anton Korobeynikov2012-04-031-2/+2
| | | | | | Patch by Bernard Cafarelli! llvm-svn: 153965
* Add soname to LLVM shared library on Linux. Probably the same stuff is ↵Anton Korobeynikov2012-03-231-0/+2
| | | | | | | | necessary for *BSD. Patch from Mageia! llvm-svn: 153324
* build: Tidy up a bunch of tool Makefiles, and simplify where possible using theDaniel Dunbar2011-10-181-4/+4
| | | | | | new all-targets pseudo-component. llvm-svn: 142401
* Exclude libLLVMTableGen.a from the shared libraryPeter Collingbourne2011-10-041-2/+3
| | | | | | Unbreaks tools for --enable-shared build. llvm-svn: 141052
* improve solaris support, from PR9109, patch by Yuri!Chris Lattner2011-02-131-0/+5
| | | | llvm-svn: 125456
* autoconf: Add --disable-embed-stdcxx to suppress linking libstdc++.a into ↵NAKAMURA Takumi2010-12-291-2/+3
| | | | | | | | llvm.dll with --enable-shared on Cygming. Cygwin has stdc++.dll in it's distribution, and we can assume distro's stdc++.dll might be available. llvm-svn: 122622
* tools/llvm-shlib/Makefile: Support for FreeBSD and OpenBSD.NAKAMURA Takumi2010-10-281-1/+4
| | | | | | | | Thanks to Yuri Gribov and Vladimir Kirillov! *BSD(s) have environ(7) in CRT startup and cannot resolve "environ" at linking llvm.so. environ(7) is used inlib/System/Unix/Program.inc. llvm-svn: 117528
* This patch enables ENABLE_SHARED=1 to build DLL based LLVM toolchain on ↵Anton Korobeynikov2010-08-171-0/+52
| | | | | | | | MingW & Cygwin. Patch by Takumi Nakamura! llvm-svn: 111268
* build: Don't pass -avoid-version or -no-undefined on Darwin, they don't doDaniel Dunbar2010-07-311-1/+0
| | | | | | anything. llvm-svn: 109957
* Try r96559 for the third time. This time the shared library is only built ifJeffrey Yasskin2010-02-251-0/+60
| | | | | | --enable-shared is passed to configure. llvm-svn: 97119
* Roll back r96959 again.Jeffrey Yasskin2010-02-231-67/+0
| | | | llvm-svn: 96981
* Oops. Pass -lgcc _only_ on ARM, not on everything except ARM.Jeffrey Yasskin2010-02-231-1/+1
| | | | llvm-svn: 96965
* Roll r96559 forward again, adding libLLVM-2.7svn.so to LLVM. This links 3 ofJeffrey Yasskin2010-02-231-0/+67
| | | | | | the examples shared to make sure the shared library keeps working. llvm-svn: 96959
* Roll back the shared library, r96559. It broke two darwins and arm, ↵Jeffrey Yasskin2010-02-181-61/+0
| | | | | | mysteriously. llvm-svn: 96569
* Add a shared library for LLVM, named libLLVM2.7svn.(so|dylib), and add anJeffrey Yasskin2010-02-181-0/+61
--enable-shared configure flag to have the tools linked shared. (2.7svn is just $(LLVMVersion) so it'll change to "2.7" in the release.) Always link the example programs shared to test that the shared library keeps working. On my mac laptop, Debug libLLVM2.7svn.dylib is 39MB, and opt (for example) is 16M static vs 440K shared. Two things are less than ideal here: 1) The library doesn't include any version information. Since we expect to break the ABI with every release, this shouldn't be much of a problem. If we do release a compatible 2.7.1, we may be able to hack its library to work with binaries compiled against 2.7.0, or we can just ask them to recompile. I'm hoping to get a real packaging expert to look at this for the 2.8 release. 2) llvm-config doesn't yet have an option to print link options for the shared library. I'll add this as a subsequent patch. llvm-svn: 96559
OpenPOWER on IntegriCloud