Commit Graph

104 Commits

Author SHA1 Message Date
David Nadlinger
c0980de3af Testsuite updates; run it as part of CI builds.
Only can run a quick build because of Travis time restrictions. Should
try to find a set of most-likely-to-fail command line args, maybe
"-O -gc -fPIC"?
2012-09-29 20:59:06 +02:00
kai
7c7a9e564a Add source_group.
This information is used by VisualStudio to group files togetther.
2012-08-26 15:28:35 +02:00
kai
2addbd2b71 More changes to the build system.
- Relax version checking because we intend to have only a single branch
- Exclude ldfpu.asm from build with MSVC-32 (reported by huynh van sen)
- Fix FindLLVM.cmake to work on Windows again
2012-07-28 22:41:34 +02:00
kai
508dd9ff70 Simplify CMakeLists.txt.
This version works with LLVM 3.0 and 3.1.
2012-07-24 23:33:15 +02:00
kai
32a2fff634 Add more compiler flags for MSVC. 2012-07-14 21:45:24 +02:00
kai
0d7c0869a5 Replace find-alt-triple.sh with CMake regular expressions.
This has the advantage that it works on Windows, too.
2012-06-25 23:42:58 +02:00
kai
0c6fcc12ec Revert "Fix some parameter lists." because it breaks Linux build.
This reverts commit 0c5bd04aab.
2012-06-22 06:59:12 +02:00
kai
0c5bd04aab Fix some parameter lists.
With this commit it is possible to build LDC/LDC2 with MSVC via CMake.
2012-06-21 06:44:52 +02:00
kai
79c02f2a79 Remove some old variables which are unused now. 2012-06-19 18:08:42 +02:00
kai
c5eba4a98b New CMake module to locate libconfig++
The current code to locate libconfig++ has some trouble:
- It is located in the main CMakeList file but should be a module of its own
- It depends on pkg-config which is not available on Windows
- The returned values are not really useful therefore the library name is hard coded

This commit tries to solve these problems. For a Unix-like system there should be no difference.
Additionally, you can override the variables on the command line which is useful for builds on Windows.
2012-06-18 19:50:11 +02:00
kai
920c563c7e More MSVC related changes to CMakeLists.txt.
- Added new variable for MSVC specific compiler flags
- Added custom target for MASM support
2012-06-18 19:21:58 +02:00
kai
93b2334803 Add more MSVC stuff to CMake files. 2012-06-15 12:20:02 +02:00
kai
95cb8af435 No need to exclude non-existing file root/win32.c from build. 2012-06-13 07:14:29 +02:00
David Nadlinger
27349f3589 Add LLVM_LDFLAGS twice to the LDMD link command to work around build problems. 2012-06-11 00:31:55 +02:00
David Nadlinger
7652fb8015 Explicitly include <unistd.h>. 2012-06-11 00:31:54 +02:00
David Nadlinger
9489508046 Write LDMD executable to bin/. 2012-06-10 22:19:54 +02:00
David Nadlinger
6ced6dae77 Fix #45, fix #100: LDMD rewrite for more sophisticated emulation of DMD command line behavior.
It ain't pretty. I know.
2012-06-07 11:17:39 +02:00
David Nadlinger
96b7fb6336 Always cache libconfig++ flags; tell user if pkg-config could not be found.
Previously, it was not clear to the user if pkg-config detection failed, leading to surprises if libconfig++ actually was present on the system.

The LIBCONFIG* variables are now always cached so that they can conveniently be set from ccmake/cmake-gui.
2012-06-02 15:43:14 +02:00
David Nadlinger
1f5bced327 Don't install libldc for static builds. 2012-05-25 19:41:53 +02:00
David Nadlinger
8dea63e8a8 Fix #98 - Build broken using CMake 2.8.8.
As per the CMake docs, LANGUAGE is only to be set for files that are actually compiled. In versions prior to 2.8.7, setting it globally worked fine nevertheless.
2012-05-25 19:07:57 +02:00
Eldar Insafutdinov
36d4a57297 Default to building ldc as a static library. Added BUILD_SHARED flag to enable dynamic libraries 2012-04-07 14:12:10 +01:00
Eldar Insafutdinov
a8398d64e8 Moved configfile to the driver 2012-04-03 21:18:16 +01:00
Eldar Insafutdinov
0b411b873c Separated compiler from the driver into the shared library 2012-04-01 22:06:08 +01:00
David Nadlinger
df61269ada Fixed LDC 1 config file installation.
Closes #79.

Thanks to SiegeLord for the meat of the patch.
2012-03-17 13:32:00 +01:00
David Nadlinger
c3621e171c CMake: Mark USE_BOEHM_GC and other unsupported flags as advanced. 2012-03-17 12:28:49 +01:00
kai
11786aeb35 Remove last traces of _DH.
With the merge of 1.072 the definition of _DH is no longer needed.
2012-02-04 20:36:59 +01:00
Alexey Prokhin
7da47c4ee8 Restored old behavior of initialization of llvm targets.
LDC initializes only a llvm host target and targets that were explicitly
requested when building the program.
2011-12-05 21:41:37 +04:00
David Nadlinger
38d1bf4cc8 Removed two (!) D1/Tango runtime build systems.
As discussed on IRC, Bob has been the default (and recommended) way to build Tango for LDC for quite some time now. Support for it in the CMake-based build system just created a big maintenance burden for (almost) no benefits. Besides, the build system was currently broken anyway.

The makefiles seemed to support building *.bc libs for Tango though, which Bob probably doesn't, which might be worth keeping in mind.
2011-12-04 20:21:56 +01:00
David Nadlinger
3916835380 Merge remote-tracking branch 'AlexeyProkhin/master' into merge-3.0
Conflicts:
	CMakeLists.txt
	druntime
	runtime/CMakeLists.txt
2011-12-04 18:38:09 +01:00
David Nadlinger
5458ebb0b2 Merge branch 'master' into merge-3.0 2011-12-04 18:15:21 +01:00
Alexey Prokhin
91f4e5d015 Added emission of dwarf lexical blocks.
Also, dropped support for DISABLE_DEBUG_INFO definition.
2011-12-04 15:34:35 +04:00
Alexey Prokhin
cdeca718fc Merge branch 'master' of github.com:ldc-developers/ldc 2011-12-04 00:16:30 +04:00
q66
04ce6bbe45 Build system fix. 2011-12-03 12:21:12 +01:00
Alexey Prokhin
014d6bdd4d Merged 2.056 2011-12-02 21:50:52 +04:00
Alexey Prokhin
7d74a801bb Fixed #17 and #23 — added 'MULTILIB' option to cmake script and fixed 'make install' 2011-12-02 21:40:31 +04:00
David Nadlinger
b560e752f3 LLVM 3.0 is now required. 2011-11-12 19:51:40 +01:00
David Nadlinger
dc46ae547c Merge remote-tracking branch 'upstream/ldc-merge-2.056'. 2011-11-12 19:31:19 +01:00
David Nadlinger
23f360c988 Use llvm::InitializeNativeTargetAsmPrinter() now that it is available.
This enables us to remove the whole ugly config file parsing hack.

Also includes some minor CMake beautifications (nobody should really be at 2.4 anymore, 2.6 is more than three years old now).
2011-11-12 18:42:01 +01:00
David Nadlinger
bafe9c8e03 Factored out LLVM detection into separate CMake module. 2011-11-12 17:48:28 +01:00
David Nadlinger
aa5e5728e7 Build druntime and Phobos by default.
This fixes »make install« – if you want to build only the compiler, the »ldc2« target can be used.
2011-11-12 13:31:54 +01:00
David Nadlinger
4be8f37119 Install D1 runtime files only if building LDC1.
Previously, some D2 runtime files were overwritten by them (notably ldc.intrinsics, see #18).
2011-11-12 11:52:17 +01:00
David Nadlinger
9800346e50 Avoid double slashes in installation paths. 2011-11-12 11:21:03 +01:00
David Nadlinger
714f15d64a Print message when libconfig++ is not found.
I only made it a warning for now, because there is presumably a reason why the package isn't marked required (pkgconfig-less installations maybe?).
2011-11-11 18:05:30 +01:00
David Nadlinger
470323233a Merged build system patches by Jonathan Mercier.
In detail, this commit:
 - Changes the default version that is built to D2, use D_VERSION to override.
 - Reverts back to building static libs by default until we are certain shared libs work fine everywhere.
 - Fixes installation pathes so that CMAKE_INSTALL_PREFIX is respected; /etc as sysconf dir for /usr prefix is special-cased.
 - Fixes out-of-source builds again, and causes temporary files (idgen, …) not to be written to the source directory anymore.

This is a slightly cleaned up version of the changes from https://github.com/ldc-developers/ldc/pull/12.
2011-11-09 20:40:39 +01:00
Alexey Prokhin
b52c224d57 Merge v2.056 2011-11-01 11:44:03 +04:00
Jonathan MERCIER
52c6347ef7 now conf files have right value 2011-10-12 03:27:23 +02:00
Jonathan MERCIER
350d4a0629 By default buils as shared lib 2011-10-12 03:07:42 +02:00
Jonathan MERCIER
32cbc798c0 Install lib could go to lib or lib64 directory by example for follow os rules 2011-10-12 03:03:42 +02:00
Jonathan MERCIER
3fa4311371 quote string var 2011-10-10 15:10:56 +02:00
Jonathan MERCIER
ebe55afa97 now we can choose llvm config header's filename 2011-10-10 14:32:57 +02:00