David Nadlinger
b560e752f3
LLVM 3.0 is now required.
2011-11-12 19:51:40 +01:00
David Nadlinger
ffe37c4a62
Merge remote-tracking branch 'upstream/llvm3.0'
2011-11-12 19:51:30 +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
6e714f999e
Remove code for building runtime separatly, it was broken in the current form anyway.
2011-11-12 15:17:42 +01:00
David Nadlinger
1c92511d3c
Removed unused config.guess script.
2011-11-12 15:10:59 +01:00
David Nadlinger
7eda270d6b
Search for config next to the binary before trying global dirs.
...
This solves the problem of LDC picking up a pre-existing system-wide config when druntime and Phobos are compiled as part of the build process.
This order was intended by Christian in 919f8d6 , but then backed out again in eb3cd887 with no comment as to why – I hope this doesn't have any unwanted implications.
2011-11-12 14:35:30 +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
d57637a0a1
Don't needlessly copy over druntime/Phobos to build directory.
2011-11-12 13:30:07 +01:00
David Nadlinger
d9da8723d1
Remove ancient druntime patching helpers.
...
We are using our own forks and Git submodules now.
2011-11-12 13:08:03 +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
235fed831d
Search for LDC-specific modules first.
...
This commit flips the order of the import paths so that the directories we install our stuff to are searched first. This avoids problems if DMD's has been installed to the same directory.
2011-11-12 11:33:04 +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
6aab340ca4
Merge pull request #16 from SiegeLord/master
...
Define version Tango in the installed config file
2011-11-11 08:30:30 -08:00
SiegeLord
22679fe844
Define version Tango in the config file
2011-11-11 11:15:20 -05:00
David Nadlinger
3cf958a1b0
Added new config files missing from 4703232.
...
These will be picked for (and renamed on) installation and contain absolute paths for the directories involved.
2011-11-09 21:15:14 +01:00
David Nadlinger
28b1d7f5de
Update druntime for OS X x86_64 build fix.
2011-11-09 20:50:47 +01:00
Jonathan MERCIER
392482dc2d
remove useless dir
2011-11-09 20:41:10 +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
David Nadlinger
5e18625266
Define MinGW in addition to mingw32 for consistency with GDC.
...
When we get Win64 support, it should be defined there as well.
2011-11-08 21:27:02 +01:00
Alexey Prokhin
6ef7ee6d32
Unimplemented toConstElem is not a fatal error if errors are gagged.
...
Because ldc uses gagging to check whether an expression is constant.
2011-11-01 14:35:28 +04:00
Alexey Prokhin
22d0f00027
Rewritten DtoArrayInit().
...
It does not create calls to runtime functions and generates a faster code, especially if optimizations are on.
2011-11-01 14:31:00 +04:00
Alexey Prokhin
40fa7653e2
Sync TypeInfoClass flags with dmd
2011-11-01 12:07:59 +04:00
Alexey Prokhin
b52c224d57
Merge v2.056
2011-11-01 11:44:03 +04:00
Alexey Prokhin
7431d58702
Rewritten initialization of global variables.
2011-10-25 15:43:49 +04:00
Alexey Prokhin
66a30803f3
Fixed an assert in DtoNewClass when initializing an inner-class outer reference
2011-10-25 15:43:49 +04:00
Alexey Prokhin
bf463d61da
Readded 'relocation-model' and 'code-model' options
2011-10-25 15:43:49 +04:00
Alexey Prokhin
45426ca60d
Implemented atomic intrinsics for llvm 3.0
...
Unline older versions, llvm 3.0 provides atomic instructions, not intrinsics.
The patch wraps the instructions into intrinsics, so they will be accessible
from d code.
2011-10-25 15:43:49 +04:00
Alexey Prokhin
81426b8cc8
Fix DelegateExp::toElem return type
2011-10-25 15:43:49 +04:00
Alexey Prokhin
0b159f635d
Fix an assert in IrStruct::getClassInfoInterfaces() due to mismatched types
2011-10-25 15:43:49 +04:00
Alexey Prokhin
b97b32759e
Use LLVM Machine Code (MC) to emit object files. Finilize debug info
2011-10-25 15:43:49 +04:00
Alexey Prokhin
aee896f85b
Port exceptions to llvm 3.0
2011-10-25 15:43:49 +04:00
Alexey Prokhin
629f13929e
WIP: port to llvm 3.0
2011-10-25 15:43:39 +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
Jonathan MERCIER
7cd248dd75
add suffix for libdir is usefull is on your system lib 64bit need to got to /usr/lib64
2011-10-10 14:02:37 +02:00
Jonathan MERCIER
4bbd23b287
Set directory where lib will be put default lib
2011-10-10 13:56:59 +02:00
Jonathan MERCIER
c5a3ec9d1d
Set default configuration path for install to /etc
2011-10-10 13:52:40 +02:00
Jonathan MERCIER
a8903c0795
configuration file follow system rules
2011-10-10 13:49:34 +02:00
Jonathan MERCIER
30d2a6c08c
Add comment in CMakeLists.txt
2011-10-10 13:23:01 +02:00
Jonathan MERCIER
07d90e334e
Replace PROJECT_BINARY_DIR by PROJECT_SOURCE_DIR for to be more cohesive
2011-10-10 13:18:31 +02:00
Jonathan MERCIER
8803990d2f
remove exrta tab for use 4 spaces
2011-10-10 13:16:04 +02:00
Alexey Prokhin
423076dd82
CMakeLists: look for host target in llvm's config.h
2011-09-15 16:23:26 +04:00
Alexey Prokhin
2dd73874ac
Fixed druntime and phobos paths in CMakeLists
2011-09-15 14:45:40 +04:00
Alexey Prokhin
9f37747789
Update submodules
2011-09-15 14:23:04 +04:00