Jump to page: 1 2 3
Thread overview
Does anyone know how druntime gets built?
Jun 21, 2022
Walter Bright
Jun 21, 2022
Walter Bright
Jun 21, 2022
Tejas
Jun 21, 2022
Walter Bright
Jun 21, 2022
ryuukk_
Jun 21, 2022
H. S. Teoh
Jun 21, 2022
forkit
Jun 21, 2022
forkit
Jun 21, 2022
H. S. Teoh
Jun 21, 2022
Walter Bright
Jun 21, 2022
AnimusPEXUS
Jun 21, 2022
AnimusPEXUS
Jun 21, 2022
Walter Bright
Jun 21, 2022
Johan
Jun 22, 2022
forkit
Jun 22, 2022
Abdulhaq
Jun 22, 2022
forkit
Jun 26, 2022
Walter Bright
Jun 27, 2022
zjh
Jun 24, 2022
forkit
Jun 26, 2022
Walter Bright
Jun 27, 2022
Walter Bright
Jun 27, 2022
forkit
Jun 27, 2022
Walter Bright
Jun 28, 2022
zjh
June 20, 2022
There are no instructions for it. Trying the obvious does not work.

https://issues.dlang.org/show_bug.cgi?id=23193
June 20, 2022
What I'd like to see is, say, a .bat file named cc32mscoff.bat, that will build the 32 bit mscoff libraries. I don't want to set paths, environment variables, etc., I just want it to build the 32 bit mscoff libraries.
June 21, 2022

On Tuesday, 21 June 2022 at 06:48:56 UTC, Walter Bright wrote:

>

What I'd like to see is, say, a .bat file named cc32mscoff.bat, that will build the 32 bit mscoff libraries. I don't want to set paths, environment variables, etc., I just want it to build the 32 bit mscoff libraries.

I think one is supposed to use the package digger for a painless process of building D/DRT/Phobos

Note: I've never built D or its libraries

June 21, 2022
On 6/21/2022 12:15 AM, Tejas wrote:
> On Tuesday, 21 June 2022 at 06:48:56 UTC, Walter Bright wrote:
>> What I'd like to see is, say, a .bat file named cc32mscoff.bat, that will build the 32 bit mscoff libraries. I don't want to set paths, environment variables, etc., I just want it to build the 32 bit mscoff libraries.
> 
> I think one is supposed to use the package [digger](https://code.dlang.org/packages/digger) for a painless process of building D/DRT/Phobos


It's madness to require a special tool to just compile a library. :-(

Somehow, the simple concept of:

    dmd <bunch of flags> <all the files> -odruntime.lib

has turned into quite a rube goldberg morass.

June 21, 2022
On Tuesday, 21 June 2022 at 06:48:56 UTC, Walter Bright wrote:
> What I'd like to see is, say, a .bat file named cc32mscoff.bat, that will build the 32 bit mscoff libraries. I don't want to set paths, environment variables, etc., I just want it to build the 32 bit mscoff libraries.

not sure if this is the info you're looking for..but:

you need to build dmd before druntime.

I only use win64.mak

first update the win64.mak file to work with the version of the Visual Studio you have installed.

i.e.
VCDIR=
SDKDIR=
BINDIR=

you could run this first(to see the actual commands it will run):
make -n -f win64.mak

But I just run this .bat file I made (always works fine - although the version of the src I use is kinda old, but I happy to stick with it  ->  v2.098.1

--
@echo off
@call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvarsall.bat" x64 %*

d:

cd D:\Dsource\dmd
rdmd src/build.d clean
rdmd src/build.d -v

cd D:\Dsource\druntime
C:\DMC\dm\bin\make -f win64.mak clean
C:\DMC\dm\bin\make -f win64.mak

cd D:\Dsource\phobos
C:\DMC\dm\bin\make -f win64.mak clean
C:\DMC\dm\bin\make -f win64.mak


pause

-------
June 21, 2022
On Tuesday, 21 June 2022 at 09:17:32 UTC, forkit wrote:
>

ensure this is in your path though:

C:\D\DMD2\WINDOWS\BIN64



June 21, 2022
On Mon, Jun 20, 2022 at 11:48:56PM -0700, Walter Bright via Digitalmars-d wrote:
> What I'd like to see is, say, a .bat file named cc32mscoff.bat, that will build the 32 bit mscoff libraries. I don't want to set paths, environment variables, etc., I just want it to build the 32 bit mscoff libraries.

I've no idea how it's done on Windows, but on Linux, it's as simple as:

	export HOST_DMD=/path/to/bootstrap/dmd
	make -f posix.mak PIC=1 MODEL=64


T

-- 
Lottery: tax on the stupid. -- Slashdotter
June 21, 2022
On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
> There are no instructions for it. Trying the obvious does not work.
>
> https://issues.dlang.org/show_bug.cgi?id=23193

I've wrote some building script to automate dmd and friend (druntime) builds. but I don't know if it's what your looking for https://github.com/AnimusPEXUS/deployD .
June 21, 2022
On Tuesday, 21 June 2022 at 16:19:28 UTC, AnimusPEXUS wrote:
> On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
>> There are no instructions for it. Trying the obvious does not work.
>>
>> https://issues.dlang.org/show_bug.cgi?id=23193
>
> I've wrote some building script to automate dmd and friend (druntime) builds. but I don't know if it's what your looking for https://github.com/AnimusPEXUS/deployD .

oops, looks like this script of mine doesn't actually build druntime, but it's builds at my place ok with just `make -f posix.mak`

-------------
[animus@animus druntime]$
make -C ../dmd/src -f posix.mak BUILD=release OS=linux MODEL=64
make[1]: Entering directory '/home/animus/dlang/dmd/src'
posix.mak:42: ===== DEPRECATION NOTICE =====
posix.mak:43: ===== DEPRECATION: posix.mak is deprecated. Please use src/build.d instead.
posix.mak:44: ==============================
dmd -of../generated/build -g build.d
../generated/build OS="linux" BUILD="release" MODEL="64" HOST_DMD="dmd" CXX="c++" AUTO_BOOTSTRAP="" DOCDIR="" STDDOC="" DOC_OUTPUT_DIR="" MAKE="make" VERBOSE="" ENABLE_RELEASE="" ENABLE_DEBUG="" ENABLE_ASSERTS="" ENABLE_LTO="" ENABLE_UNITTEST="" ENABLE_PROFILE="" ENABLE_COVERAGE="" DFLAGS="" dmd
(TX) VERSION
(TX) SYSCONFDIR
(DC) COMMON
(TX) DMD_CONF
(DC) BACKEND
(DC) LEXER
(DC) DMD
Success
make[1]: Leaving directory '/home/animus/dlang/dmd/src'
../dmd/generated/linux/release/64/dmd -conf= -c -o- -Isrc -Iimport -Hfimport/core/sync/barrier.di src/core/sync/barrier.d
../dmd/generated/linux/release/64/dmd -conf= -c -o- -Isrc -Iimport -Hfimport/core/sync/condition.di src/core/sync/condition.d
../dmd/generated/linux/release/64/dmd -conf= -c -o- -Isrc -Iimport -Hfimport/core/sync/config.di src/core/sync/config.d
../dmd/generated/linux/release/64/dmd -conf= -c -o- -Isrc -Iimport -Hfimport/core/sync/exception.di src/core/sync/exception.d
../dmd/generated/linux/release/64/dmd -conf= -c -o- -Isrc -Iimport -Hfimport/core/sync/mutex.di src/core/sync/mutex.d
../dmd/generated/linux/release/64/dmd -conf= -c -o- -Isrc -Iimport -Hfimport/core/sync/rwmutex.di src/core/sync/rwmutex.d
../dmd/generated/linux/release/64/dmd -conf= -c -o- -Isrc -Iimport -Hfimport/core/sync/semaphore.di src/core/sync/semaphore.d
cc -c -m64 -fPIC -DHAVE_UNISTD_H -O3 src/core/stdc/errno.c -ogenerated/linux/release/64/errno_c.o
cc -c -m64 -fPIC -DHAVE_UNISTD_H -O3 src/core/threadasm.S -ogenerated/linux/release/64/threadasm.o
../dmd/generated/linux/release/64/dmd -c -fPIC -ofgenerated/linux/release/64/libdruntime.so.o -conf=
-------------
and it's exited with 0
June 21, 2022
On Tuesday, 21 June 2022 at 06:27:23 UTC, Walter Bright wrote:
> There are no instructions for it. Trying the obvious does not work.
>
> https://issues.dlang.org/show_bug.cgi?id=23193

In case anyone is wondering, for LDC, it is `ldc-build-runtime`.
https://wiki.dlang.org/Building_LDC_runtime_libraries

-Johan
« First   ‹ Prev
1 2 3