On 5/24/2013 11:15 AM, nazriel wrote:
I still don't know how do you issue commands.
Do you use something like:
make -f posix.mak/win32.mak zip in dmd/src
make -f posix.mak/win32.mak zip in phobos
on each platform then merge zips into one?
I am wondering because I am willing to work on it but I am still not sure where
should I put this make rule. DMD makefile?
That would build DMD both 32bit and 64bit, then build druntime both 32bit and
64bit also static and shared one, then phobos both 32bit and 64bit also static
and shared one and then create tar.bz2 for certain platform, be it FreeBSD for
example or zip for Windows.
Also there would be need to still manually create meta-package with all those
binaries for a bit of time to allow external tools migrate (as noted by Jacob)
Is dmd's makefile the right place for this make rule?
Or creating standalone makefile for creating releases both milestone and nightly
is better idea?
I need a little bit of direction before I start working on it.
It will be ready for monday if nobody beats me in creating such rule ;)
The only directive you have is so that "make package" will generate the release
package on the platform the command is run on.
Here is the "install" script I use. It runs under Windows and uses ssh to gather
the builds from the individual platforms and write them to the \dmd2 directory,
and the dmd2 directory is then zipped and uploaded to the digitalmars.com server.
----------------------------------------------------
make install
cd phobos
make html
make install
cd ..\doc
make
make install
cd phobos
make install
cd ..\..
cd druntime
make install
cd ..
copy ..\rdmd\dman.exe \dmd2\windows\bin
copy ..\rdmd\rdmd.exe \dmd2\windows\bin
copy ..\rdmd\ddemangle.exe \dmd2\windows\bin
copy ..\VERSION \dmd2\src\
copy \dm\lib\snn.lib \dmd2\windows\lib
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:cbx/mars/dmd32
\dmd2\linux\bin32\dmd
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:cbx/mars/dmd \dmd2\linux\bin64\
\putty\pscp -i \.ssh\colossus.ppk
walter@mercury:cbx/mars/phobos/generated/linux/release/32/libphobos2.a
\dmd2\linux\lib32
\putty\pscp -i \.ssh\colossus.ppk
walter@mercury:cbx/mars/phobos/generated/linux/release/64/libphobos2.a
\dmd2\linux\lib64
\putty\pscp -i \.ssh\colossus.ppk
walter@mercury:cbx/mars/phobos/generated/linux/release/32/libphobos2.so
\dmd2\linux\lib32
\putty\pscp -i \.ssh\colossus.ppk
walter@mercury:cbx/mars/phobos/generated/linux/release/64/libphobos2.so
\dmd2\linux\lib64
rem \putty\pscp -i \.ssh\colossus.ppk walter@mercury:./bin/shell32
\dmd2\linux\bin32\shell
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:./bin/obj2asm32
\dmd2\linux\bin32\obj2asm
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:./bin/dumpobj32
\dmd2\linux\bin32\dumpobj
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:cbx/rdmd/rdmd32
\dmd2\linux\bin32\rdmd
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:cbx/rdmd/ddemangle32
\dmd2\linux\bin32\ddemangle
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:./bin/dman32
\dmd2\linux\bin32\dman
rem \putty\pscp -i \.ssh\colossus.ppk walter@mercury:./bin/shell
\dmd2\linux\bin64
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:./bin/obj2asm \dmd2\linux\bin64
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:./bin/dumpobj \dmd2\linux\bin64
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:cbx/rdmd/rdmd \dmd2\linux\bin64
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:cbx/rdmd/ddemangle
\dmd2\linux\bin64
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:./bin/dman \dmd2\linux\bin64
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:./dpl/dmd/docs/man/man1/dmd.1
\dmd2\man\man1\
\putty\pscp -i \.ssh\colossus.ppk
walter@mercury:./dpl/dmd/docs/man/man1/dmd.conf.5 \dmd2\man\man1\
\putty\pscp -i \.ssh\colossus.ppk
walter@mercury:./dpl/dmd/docs/man/man1/dumpobj.1 \dmd2\man\man1\
\putty\pscp -i \.ssh\colossus.ppk
walter@mercury:./dpl/dmd/docs/man/man1/obj2asm.1 \dmd2\man\man1\
\putty\pscp -i \.ssh\colossus.ppk walter@mercury:./dpl/dmd/docs/man/man1/rdmd.1
\dmd2\man\man1\
\putty\pscp -i \.ssh\colossus.ppk walter@goblin:cbx/mars/dmd \dmd2\freebsd\bin32
\putty\pscp -i \.ssh\colossus.ppk
walter@goblin:cbx/mars/phobos/generated/freebsd/release/32/libphobos2.a
\dmd2\freebsd\lib32
\putty\pscp -i \.ssh\colossus.ppk walter@goblin:/usr/local/bin/shell32
\dmd2\freebsd\bin32\shell
\putty\pscp -i \.ssh\colossus.ppk walter@goblin:/usr/local/bin/obj2asm32
\dmd2\freebsd\bin32\obj2asm
\putty\pscp -i \.ssh\colossus.ppk walter@goblin:/usr/local/bin/dumpobj32
\dmd2\freebsd\bin32\dumpobj
\putty\pscp -i \.ssh\colossus.ppk walter@goblin:cbx/rdmd/rdmd32
\dmd2\freebsd\bin32\rdmd
\putty\pscp -i \.ssh\colossus.ppk walter@goblin:cbx/rdmd/ddemangle32
\dmd2\freebsd\bin32\ddemangle
\putty\pscp -i \.ssh\colossus.ppk walter@goblin:/usr/local/bin/dman32
\dmd2\freebsd\bin32\dman
\putty\pscp -i \.ssh\colossus.ppk ming@pluto:cbx/mars/dmd \dmd2\osx\bin
\putty\pscp -i \.ssh\colossus.ppk
ming@pluto:cbx/mars/phobos/generated/osx/release/libphobos2.a \dmd2\osx\lib
\putty\pscp -i \.ssh\colossus.ppk ming@pluto:./bin/shell \dmd2\osx\bin
\putty\pscp -i \.ssh\colossus.ppk ming@pluto:./bin/obj2asm \dmd2\osx\bin
\putty\pscp -i \.ssh\colossus.ppk ming@pluto:./bin/dumpobj \dmd2\osx\bin
\putty\pscp -i \.ssh\colossus.ppk ming@pluto:./bin/dman \dmd2\osx\bin
\putty\pscp -i \.ssh\colossus.ppk ming@pluto:cbx/rdmd/rdmd \dmd2\osx\bin
\putty\pscp -i \.ssh\colossus.ppk ming@pluto:cbx/rdmd/ddemangle \dmd2\osx\bin
pushd \dmzip
make putbeta2
popd