View previous topic :: View next topic |
Author |
Message |
jaysistar
Joined: 30 Jun 2010 Posts: 31
|
Posted: Fri Jul 23, 2010 12:58 pm Post subject: |
|
|
aldacron wrote: |
Unfortunately, this seems to be a limitation in DMD's handling of the -Hd flag, which is used to specify an output directory for headers.
|
I noticed that. Compiling them separately does deposit the .di files correctly. From what I understand, that is not as fast due to DMD's ability to compile and link everything from memory. D compiles so much faster than C and C++, though it's not really a problem, but yes, this issue seems to be inside the compiler.
aldacron wrote: |
But that's just a needless workaround. Perhaps this should be a bug report for DMD?
|
I believe so. I just posted to "digitalmars.D.bugs" to report the issue, but I'm not sure if that's the "right way" to report bugs.
Edit:
Ok, I added a bug in DMD's "puremagic" bug tracker, which posted to the newsgroup again, but that's ok. In the meantime, I'd say that since only 2 directories are in play, and since we don't know when that will get fixed, can we split the macinit files into a separate command so that a seperate -Hd will be given? |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Sun Jul 25, 2010 1:58 am Post subject: |
|
|
jaysistar wrote: | In the meantime, I'd say that since only 2 directories are in play, and since we don't know when that will get fixed, can we split the macinit files into a separate command so that a seperate -Hd will be given? |
That's fine with me, if someone with a Mac wants to work on it. I can implement it, but not test it. So, any takers? _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
doob
Joined: 06 Jan 2007 Posts: 367
|
Posted: Sun Jul 25, 2010 3:32 am Post subject: |
|
|
I can always test. |
|
Back to top |
|
|
jaysistar
Joined: 30 Jun 2010 Posts: 31
|
Posted: Sun Jul 25, 2010 11:20 am Post subject: |
|
|
I will be working with Derelect2 on all 3 platforms for most of my new projects, so I'll be testing. |
|
Back to top |
|
|
jaysistar
Joined: 30 Jun 2010 Posts: 31
|
Posted: Tue Aug 10, 2010 3:40 am Post subject: |
|
|
It has been a few weeks... any progress on making SDL work on Mac OS X? |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Tue Aug 10, 2010 6:31 am Post subject: |
|
|
I haven't gotten around to it yet. If no one has done anything about it before I get to my next Derelict time block, I'll give it priority. _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
jaysistar
Joined: 30 Jun 2010 Posts: 31
|
Posted: Tue Aug 10, 2010 8:57 am Post subject: |
|
|
Thanks. |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Sat Aug 14, 2010 6:01 am Post subject: |
|
|
I've just committed a revised DerelictSDL makefile in an attempt to fix the problem with macinit .di output. Can someone on Mac please make DerelictSDL and let me know if it works? _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
jaysistar
Joined: 30 Jun 2010 Posts: 31
|
Posted: Sat Aug 14, 2010 8:21 am Post subject: |
|
|
It looks like darwin.mak doesn't define the DC variable, so I get:
$ make -f darwin.mak
make -C DerelictAL all PLATFORM=darwin
Makefile:2: ../inc/_inc.mak: No such file or directory
make[1]: *** No rule to make target `../inc/_inc.mak'. Stop.
make: *** [DerelictAL_ALL] Error 2
The "linux.mak" file seems to not define DC either, so on my Linux machine I get:
$ make -f linux.mak
make -C DerelictAL all PLATFORM=linux
make[1]: Entering directory `/home/jay/Desktop/D/temp/Derelict2/DerelictAL'
Makefile:2: ../inc/_inc.mak: No such file or directory
make[1]: *** No rule to make target `../inc/_inc.mak'. Stop.
make[1]: Leaving directory `/home/jay/Desktop/D/temp/Derelict2/DerelictAL'
make: *** [DerelictAL_ALL] Error 2 |
|
Back to top |
|
|
michaelp
Joined: 27 Jul 2008 Posts: 114
|
Posted: Sat Aug 14, 2010 8:43 am Post subject: |
|
|
You have to define these yourself when you run make.
Code: | make -f darwin.mak DC=dmd |
If you want to use dmd. |
|
Back to top |
|
|
jaysistar
Joined: 30 Jun 2010 Posts: 31
|
Posted: Sat Aug 14, 2010 8:57 am Post subject: |
|
|
michaelp wrote: | You have to define these yourself when you run make.
Code: | make -f darwin.mak DC=dmd |
If you want to use dmd. |
Thanks! That must have changed recently. It compiles fine on Linux now.
On Mac OS X, though:
$ make -f darwin.mak DC=dmd
...[removed successful build messages]...
make -C DerelictSDL all PLATFORM=darwin
make[1]: *** No rule to make target `darwin_build_sdl', needed by `libDerelictSDL.a'. Stop.
make: *** [DerelictSDL_ALL] Error 2
After reading the Makefile it looks pretty close to working. I'll test again when you post here again, aldacron.
Last edited by jaysistar on Sat Aug 14, 2010 9:02 am; edited 1 time in total |
|
Back to top |
|
|
doob
Joined: 06 Jan 2007 Posts: 367
|
Posted: Sat Aug 14, 2010 9:02 am Post subject: |
|
|
aldacron wrote: | I've just committed a revised DerelictSDL makefile in an attempt to fix the problem with macinit .di output. Can someone on Mac please make DerelictSDL and let me know if it works? |
I'm getting this error:
Code: | make[1]: *** No rule to make target `darwin_build_sdl', needed by `libDerelictSDL.a'. Stop. |
|
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
Posted: Sat Aug 14, 2010 10:32 am Post subject: |
|
|
doob wrote: | I'm getting this error:
Code: | make[1]: *** No rule to make target `darwin_build_sdl', needed by `libDerelictSDL.a'. Stop. |
|
Thanks, doob. I keep forgetting that everything is 'darwin' instead of 'mac'. So, I've gone ahead and changed darwin.mak and darwin_inc.mak to mac.mak and mac_inc.mak, so that I stop getting confused!
Can you update and try again? Thanks! _________________ The One With D | The One With Aldacron | D Bits |
|
Back to top |
|
|
jaysistar
Joined: 30 Jun 2010 Posts: 31
|
Posted: Sat Aug 14, 2010 11:37 am Post subject: |
|
|
Ok, I got:
...
dmd -release -O -inline *.o -oflibDerelictSDL.a
Undefined symbols:
...[removed the rest of error]...
I think that the compiler command line needed a "-lib" option (for "dmd" at least). |
|
Back to top |
|
|
aldacron
Joined: 05 May 2004 Posts: 1322 Location: Seoul, South Korea
|
|
Back to top |
|
|
|