Thread overview | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
February 06, 2007 Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Rebuild is a recreation of build/bud. I'm not a politician, so I'm not going into why I wrote it. It's based on the original DMD frontend, so it's in C++. Binaries are available for GNU/Linux and Windows. It should work on nearly any system that has a D compiler. URL: http://www.dsource.org/projects/dsss/wiki/Rebuild - Gregor Richards |
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Gregor Richards wrote: > Rebuild is a recreation of build/bud. I'm not a politician, so I'm not going into why I wrote it. > > It's based on the original DMD frontend, so it's in C++. Binaries are available for GNU/Linux and Windows. It should work on nearly any system that has a D compiler. > > URL: http://www.dsource.org/projects/dsss/wiki/Rebuild > > - Gregor Richards Hooray for rebuild! Most notable is that rebuild outputs object file names as fully-qualified module names. -- Kirk McDonald Pyd: Wrapping Python with D http://pyd.dsource.org |
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | On Mon, 05 Feb 2007 17:39:39 -0800, Gregor Richards wrote:
> Rebuild is a recreation of build/bud. I'm not a politician, so I'm not going into why I wrote it.
>
> It's based on the original DMD frontend, so it's in C++. Binaries are available for GNU/Linux and Windows. It should work on nearly any system that has a D compiler.
>
> URL: http://www.dsource.org/projects/dsss/wiki/Rebuild
>
> - Gregor Richards
Great to see an official announcement. Rebuild solved all my bud issues on my amd64 gentoo system.
Nice work.
|
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Gregor Richards wrote:
> Rebuild is a recreation of build/bud. I'm not a politician, so I'm not going into why I wrote it.
>
> It's based on the original DMD frontend, so it's in C++. Binaries are available for GNU/Linux and Windows. It should work on nearly any system that has a D compiler.
>
> URL: http://www.dsource.org/projects/dsss/wiki/Rebuild
>
> - Gregor Richards
How do I use rebuild to link in libraries?
I've tried using -Spath with some.lib and the full path path\some.lib, but the library is never passed through to the link command.
Thanks,
Bradley
|
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bradley Smith | Bradley Smith wrote: > Gregor Richards wrote: >> Rebuild is a recreation of build/bud. I'm not a politician, so I'm not going into why I wrote it. >> >> It's based on the original DMD frontend, so it's in C++. Binaries are available for GNU/Linux and Windows. It should work on nearly any system that has a D compiler. >> >> URL: http://www.dsource.org/projects/dsss/wiki/Rebuild >> >> - Gregor Richards > > How do I use rebuild to link in libraries? > > I've tried using -Spath with some.lib and the full path path\some.lib, but the library is never passed through to the link command. > > Thanks, > Bradley > -S is for specifying a /path/, not a file. This is for supporting the pragma(link) feature. This is like pragma(lib), except you specify a sane part of the library name, and it figures out the actual .lib filename. (And it does the Right Thing on Linux, too.) To explicitly specify a .lib file, use -L. -- Kirk McDonald Pyd: Wrapping Python with D http://pyd.dsource.org |
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Very well done. I've been testing this out and it's working exceptionally well with dmd/win32, gdc/linux(x86), and dmd/linux (x86), and it's very easy to switch between compilers at any point with just one rebuild binary. Next, I'll bet testing it out on gdc- mingw/win32. By far the best option yet is the "-oq<dir>" (incidentally -oq is actually the default setting now). "-oq" tells rebuild to output object files with fully qualified names: if you have a source file named uberkit/tools/string.d, the object file will be called uberkit-tools-string.obj (on win32) and uberkit.tools.string.o (on linux). This helps prevent a number of problems with conflicts. That's just incredibly marvelous :) and something D should have been doing long ago... no more object name conflicts, thank you very much. Having the D frontend in there is a big bonus as well. Great job, Gregor! -JJR |
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Kirk McDonald | Kirk McDonald wrote:
> Bradley Smith wrote:
>>
>> How do I use rebuild to link in libraries?
>>
>> I've tried using -Spath with some.lib and the full path path\some.lib, but the library is never passed through to the link command.
>>
>> Thanks,
>> Bradley
>>
>
> -S is for specifying a /path/, not a file. This is for supporting the pragma(link) feature. This is like pragma(lib), except you specify a sane part of the library name, and it figures out the actual .lib filename. (And it does the Right Thing on Linux, too.)
>
> To explicitly specify a .lib file, use -L.
>
How do you use -L to link in the library?
Here is the DMD command I'm trying to convert to rebuild.
dmd gld.lib ..\gl\opengl32.lib ..\gl\glu32.lib ..\win32\win32.lib ..\win32\gdi32.lib ..\win32\winmm.lib -version=WindowsXP -Isource -I..\gl\imports -I..\win32\imports -Iimports -oftriangle.exe -L-L/exet:nt/su:windows:4.0 source\examples\triangle.d
When I simply replace dmd with rebuild -v, it prints the link message below, which doesn't contain any of the libs.
rebuild -v gld.lib ..\gl\opengl32.lib ..\gl\glu32.lib ..\win32\win32.lib ..\win32\gdi32.lib ..\win32\winmm.lib -version=WindowsXP -Isource -I..\gl\imports -I..\win32\imports -Iimports -oftriangle.exe -L-L/exet:nt/su:windows:4.0 source\examples\triangle.d
link dmd .\triangle.obj .\gld.obj .\gld_-internal.obj .\gld_-win32-platform.obj .\gld_-win32-window.obj .\gld_-enable.obj .\gld_-win32-fullscreen.obj .\gld_-win32-enable.obj .\gld_-win32-init.obj .\gld_-win32-time.obj .\gld_-win32-glext.obj .\gld_-win32-thread.obj .\gld_-win32-joystick.obj .\gld_-glext.obj .\gld_-image.obj .\gld_-stream.obj .\gld_-window.obj .\gld_-tga.obj .\gld_-thread.obj -oftriangle.exe -L-L/exet:nt/su:windows:4.0
If I use -L on the first library "gld.lib", it produces an link error "OPTLINK : Warning 9: Unknown Option : NOIGLD.LIB"
rebuild -v -Lgld.lib ..\gl\opengl32.lib ..\gl\glu32.lib ..\win32\win32.lib ..\win32\gdi32.lib ..\win32\winmm.lib -version=WindowsXP -Isource -I..\gl\imports -I..\win32\imports -Iimports -oftriangle.exe -L-L/exet:nt/su:windows:4.0 source\examples\triangle.d
link dmd .\triangle.obj .\gld.obj .\gld_-internal.obj .\gld_-win32-platform.obj .\gld_-win32-window.obj .\gld_-enable.obj .\gld_-win32-fullscreen.obj .\gld_-win32-enable.obj .\gld_-win32-init.obj .\gld_-win32-time.obj .\gld_-win32-glext.obj .\gld_-win32-thread.obj .\gld_-win32-joystick.obj .\gld_-glext.obj .\gld_-image.obj .\gld_-stream.obj .\gld_-window.obj .\gld_-tga.obj .\gld_-thread.obj -oftriangle.exe -Lgld.lib -L-L/exet:nt/su:windows:4.0
Thanks,
Bradley
|
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bradley Smith | Bradley Smith wrote:
> Gregor Richards wrote:
>> Rebuild is a recreation of build/bud. I'm not a politician, so I'm not going into why I wrote it.
>>
>> It's based on the original DMD frontend, so it's in C++. Binaries are available for GNU/Linux and Windows. It should work on nearly any system that has a D compiler.
>>
>> URL: http://www.dsource.org/projects/dsss/wiki/Rebuild
>>
>> - Gregor Richards
>
> How do I use rebuild to link in libraries?
>
> I've tried using -Spath with some.lib and the full path path\some.lib, but the library is never passed through to the link command.
>
> Thanks,
> Bradley
>
Is something missing from the rebuild-0.1.zip? In mars.c, the lib files appear to be put in global.params.libfiles, but I can't find anywhere that the information in global.params.libfiles is used.
Thanks,
Bradley
|
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bradley Smith | Bradley Smith wrote:
> Bradley Smith wrote:
>
>> Gregor Richards wrote:
>>
>>> Rebuild is a recreation of build/bud. I'm not a politician, so I'm not going into why I wrote it.
>>>
>>> It's based on the original DMD frontend, so it's in C++. Binaries are available for GNU/Linux and Windows. It should work on nearly any system that has a D compiler.
>>>
>>> URL: http://www.dsource.org/projects/dsss/wiki/Rebuild
>>>
>>> - Gregor Richards
>>
>>
>> How do I use rebuild to link in libraries?
>>
>> I've tried using -Spath with some.lib and the full path path\some.lib, but the library is never passed through to the link command.
>>
>> Thanks,
>> Bradley
>>
>
> Is something missing from the rebuild-0.1.zip? In mars.c, the lib files appear to be put in global.params.libfiles, but I can't find anywhere that the information in global.params.libfiles is used.
>
> Thanks,
> Bradley
That's just leftover from DMD. Getting libs linked in just involves passing them into the linker. For every library, you need to add -L<library_name> .
I'm going to add a better flag for that.
- Gregor Richards
|
February 06, 2007 Rebuild 0.2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Gregor Richards wrote: > Rebuild is a recreation of build/bud. I'm not a politician, so I'm not going into why I wrote it. > > It's based on the original DMD frontend, so it's in C++. Binaries are available for GNU/Linux and Windows. It should work on nearly any system that has a D compiler. > > URL: http://www.dsource.org/projects/dsss/wiki/Rebuild > > - Gregor Richards Rebuild 0.2 released. http://www.dsource.org/projects/dsss/wiki/Rebuild Rebuild 0.2 adds easier linking to libraries with the -ll flag. For example: rebuild something.d -llncurses -llm (-ll stands for "link library") - Gregor Richards |
Copyright © 1999-2021 by the D Language Foundation