February 06, 2007 Re: Rebuild 0.2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Forgot to mention: Rebuild 0.2 has been updated to DMD frontend 1.005 - Gregor Richards |
February 06, 2007 Re: Rebuild 0.2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Gregor Richards 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
>
> 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
When I use -ll, I get and unrecognized switch error.
C:\gld>rebuild -llgld -llopengl32 -llglu32 -llwin32 -llgdi32 -llwinmm -version=WindowsXP -Isource -I..\gl\imports -I..\win32\imports -Iimports -oftriangle.exe -L-L/exet:nt/su:windows:4.0 source\examples\triangle.d
Error: unrecognized switch '-llgld'
Error: unrecognized switch '-llgld'
C:\gld>rebuild
ReBuild version 0.2 (based on DMD 1.005)
...
Thanks,
Bradley
|
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Gregor Richards wrote:
> 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
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
I would recommend making it work as similar as DMD as possible. With DMD, I just list the libraries along with the source and object files.
Thanks,
Bradley
|
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bradley Smith | Bradley Smith wrote:
> I would recommend making it work as similar as DMD as possible. With DMD, I just list the libraries along with the source and object files.
>
The idea was to make it as close to DMD as possible. I didn't realize people were linking libraries like this.
- Gregor Richards
PS: Rebuild 0.3 will allow this. It still unsettles me though.
|
February 06, 2007 Re: Rebuild 0.2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bradley Smith | Bradley Smith wrote:
> When I use -ll, I get and unrecognized switch error.
>
> C:\gld>rebuild -llgld -llopengl32 -llglu32 -llwin32 -llgdi32 -llwinmm -version=WindowsXP -Isource -I..\gl\imports -I..\win32\imports -Iimports -oftriangle.exe -L-L/exet:nt/su:windows:4.0 source\examples\triangle.d
> Error: unrecognized switch '-llgld'
> Error: unrecognized switch '-llgld'
>
> C:\gld>rebuild
> ReBuild version 0.2 (based on DMD 1.005)
> ...
>
> Thanks,
> Bradley
Argh, really stupid bug - I'll fix that later today.
- Gregor Richards
|
February 06, 2007 Re: Rebuild 0.2 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Gregor Richards wrote:
> 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
It seems rebuild doesn't respect/parse versions.
From derelictGL:
version(Windows)
import derelict.opengl.wgl;
else version(linux)
version = UsingGLX;
version(UsingGLX)
import derelict.opengl.glx;
Rebuild doesn't compile derelict.opengl.glx, which it should on my machine. If I comment version(UsingGLX) out, rebuild compiles the import just fine.
- Brix
|
February 06, 2007 Rebuild 0.3 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Fixed some bugs introduced in rebuild 0.2, and also fixed support for 'version=' statements. 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:
> Bradley Smith wrote:
>> I would recommend making it work as similar as DMD as possible. With DMD, I just list the libraries along with the source and object files.
>>
>
> The idea was to make it as close to DMD as possible. I didn't realize people were linking libraries like this.
>
> - Gregor Richards
>
> PS: Rebuild 0.3 will allow this. It still unsettles me though.
Why is it unsettling?
I'm just curious. I don't have a significant preference either way. I'll use whatever works.
Thanks,
Bradley
|
February 06, 2007 Re: Rebuild 0.1 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Bradley Smith | Bradley Smith wrote:
> Gregor Richards wrote:
>
>> Bradley Smith wrote:
>>
>>> I would recommend making it work as similar as DMD as possible. With DMD, I just list the libraries along with the source and object files.
>>>
>>
>> The idea was to make it as close to DMD as possible. I didn't realize people were linking libraries like this.
>>
>> - Gregor Richards
>>
>> PS: Rebuild 0.3 will allow this. It still unsettles me though.
>
>
> Why is it unsettling?
>
> I'm just curious. I don't have a significant preference either way. I'll use whatever works.
>
> Thanks,
> Bradley
It's just unportable is all *shrugs*
I suppose it doesn't really matter :)
- Gregor Richards
|
February 06, 2007 Re: Rebuild 0.3 released | ||||
---|---|---|---|---|
| ||||
Posted in reply to Gregor Richards | Gregor Richards wrote:
> Fixed some bugs introduced in rebuild 0.2, and also fixed support for 'version=' statements.
>
> http://www.dsource.org/projects/dsss/wiki/Rebuild
>
> - Gregor Richards
Two questions:
Does rebuild support environment variables in a build file? Like
-I$(DMDDIR)/dmd/import
Is there some way to read commands from build files other than the '@file' syntax? Like '-f filename' for example.
--bb
|
Copyright © 1999-2021 by the D Language Foundation