DUB is available in DFL. (Caution: need to modify DFL source path in sc.ini)

This commit is contained in:
haru-s 2022-12-07 18:43:03 +09:00
parent eadd29f996
commit 37ccd6f731
106 changed files with 168 additions and 9 deletions

View file

View file

@ -1,15 +1,15 @@
# DFL
This unofficial project is a migration of [D Forms Library (DFL)](http://http://wiki.dprogramming.com/Dfl/HomePage "D Forms Library (DFL)") that is managed on SVN.
DFL is a Win32 windowing library for the D language.
## Recent major features
- Remove dflexe.
- Remove GTK-based DFL.
- Remove some bundled libraries such as user32_dfl.lib etc... (From now on, use dmd-bundled libraries such as the MinGW platform library and so on.)
- DUB is available for DFL.
- Remove dflexe.
- Remove GTK-based DFL.
- Remove some bundled libraries such as user32_dfl.lib etc... (From now on, use dmd-bundled libraries such as the MinGW platform library and so on.)
## Build and Install
## Build and Install (dfl.lib and dfl_debug.lib)
### 1. Set environment variables
Fix the paths below:
```bat
@ -19,7 +19,7 @@ set dmc_path=c:\dmc\dm
### 2. Install the undeaD library
DFL is required the undeaD library (**undead.lib**).
Download a ZIP file from https://github.com/dlang/undead.
Extract **undeaD-master.zip** and run the bellow with either option -a=x86_omf, x86_32mscoff or x86_64:
Extract **undeaD-master.zip** and run the below with either option -a=x86_omf, x86_32mscoff or x86_64:
```bat
> cd undeaD-master
> dub build -a=x86_omf
@ -50,11 +50,32 @@ or (MSVC required)
```
Also copy **dfl.lib** and **dfl_debug.lib** to your/lib/dir.
In order to make and move *.lib to paths bellow:
**IMPORTANT**: Both library files are containing the **undead.lib** and WINSDK libraries such as **user32.lib**, **gdi32.lib** and so on.
In order to make and move *.lib to paths below:
- **go32omf.bat** : Make and move *.lib to %dmd_path%\lib
- **go.bat** (MSVC required) : Make and move *.lib to %dmd_path%\lib32mscoff
- **go.bat 32mscoff** (MSVC required) : ditto
- **go64.bat** (MSVC required) : Make and move *.lib to %dmd_path%\lib64
## With DUB
First, in order to add to local DUB registry:
```bat
> cd dfl
> dub add-local .
> dub list
Packages present in the system and known to dub:
dfl ~master: c:\your\path\dfl\
```
Build and run your GUI applications with DUB as below:
```bat
> cd examples\hello_dfl
> dub build -a=x86_omf
> dub run
```
See also **./examples/hello_dfl/dub.json**.
**IMPORTANT**: DUB is building **dfl_dub.lib** that is **not** containing **undead.lib** and WINSDK libraries.
## License
boost and/or zlib/libpng

52
dub.json Normal file
View file

@ -0,0 +1,52 @@
{
"authors": [
"various"
],
"dependencies": {
"undead": "~>1.1.8"
},
"description": "D Forms Library, or DFL, is a Win32 windowing library for the D language.",
"license": "in license.txt",
"name": "dfl",
"targetType": "staticLibrary",
"targetPath": "bin",
"targetName": "dfl_dub",
"homepage": "https://github.com/Rayerd/dfl",
"versions": [
"DFL_UNICODE",
"REDEFINE_UUIDS"
],
"libs-windows-x86_omf-dmd": [
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/user32",
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/shell32",
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/gdi32",
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/comctl32",
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/advapi32",
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/comdlg32",
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/ole32",
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/OLEAUT32",
"$DFL_PACKAGE_DIR/lib/windows-x86_omf/ws2_32"
],
"libs-windows-x86_mscoff-dmd": [
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/user32",
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/shell32",
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/gdi32",
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/comctl32",
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/advapi32",
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/comdlg32",
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/ole32",
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/OLEAUT32",
"$DFL_PACKAGE_DIR/lib/windows-x86_mscoff/ws2_32"
],
"libs-windows-x86_64-dmd": [
"$DFL_PACKAGE_DIR/lib/windows-x86_64/user32",
"$DFL_PACKAGE_DIR/lib/windows-x86_64/shell32",
"$DFL_PACKAGE_DIR/lib/windows-x86_64/gdi32",
"$DFL_PACKAGE_DIR/lib/windows-x86_64/comctl32",
"$DFL_PACKAGE_DIR/lib/windows-x86_64/advapi32",
"$DFL_PACKAGE_DIR/lib/windows-x86_64/comdlg32",
"$DFL_PACKAGE_DIR/lib/windows-x86_64/ole32",
"$DFL_PACKAGE_DIR/lib/windows-x86_64/OLEAUT32",
"$DFL_PACKAGE_DIR/lib/windows-x86_64/ws2_32"
]
}

16
examples/hello_dfl/.gitignore vendored Normal file
View file

@ -0,0 +1,16 @@
.dub
docs.json
__dummy.html
docs/
/hello_dfl
hello_dfl.so
hello_dfl.dylib
hello_dfl.dll
hello_dfl.a
hello_dfl.lib
hello_dfl-test-*
*.exe
*.pdb
*.o
*.obj
*.lst

View file

@ -1,2 +1,4 @@
pushd source
dmd -m32omf -L/exet:nt/su:windows:4.0 hello_dfl.d
hello_dfl.exe
popd

View file

@ -1,2 +1,4 @@
pushd source
dmd -m32mscoff -L/SUBSYSTEM:WINDOWS -L/ENTRY:mainCRTStartup hello_dfl.d
hello_dfl.exe
popd

View file

@ -1,2 +1,4 @@
pushd source
dmd -m64 -L/SUBSYSTEM:WINDOWS -L/ENTRY:mainCRTStartup hello_dfl.d
hello_dfl.exe
popd

View file

@ -0,0 +1,16 @@
{
"authors": ["haru-s"],
"copyright": "Copyright (C) 2022 haru-s",
"description": "DFL sample code.",
"name": "hello_dfl",
"targetType": "executable",
"targetPath": "bin",
"dependencies": {
"dfl": {
"path": "../../../dfl"
}
},
"lflags-windows-x86_omf-dmd": ["/exet:nt/su:windows:6.0"],
"lflags-windows-x86_mscoff-dmd": ["/SUBSYSTEM:WINDOWS", "/ENTRY:mainCRTStartup"],
"lflags-windows-x86_64-dmd": ["/SUBSYSTEM:WINDOWS", "/ENTRY:mainCRTStartup"]
}

View file

@ -31,6 +31,8 @@ call makelib "%~1"
@rem @move /Y dfl.lib %dmd_lib_path%
@rem @if errorlevel 1 goto fail
@pushd source\dfl
@move /Y dfl*.lib %dmd_lib_path%
@if errorlevel 1 goto fail
@ -47,3 +49,5 @@ call makelib "%~1"
:done
@echo Done.
@popd

View file

@ -0,0 +1,10 @@
Windows SDK Libraries from \dmd2\windows\lib64
advapi32.lib
COMCTL32.LIB
comdlg32.lib
gdi32.lib
ole32.lib
OLEAUT32.LIB
shell32.lib
user32.lib
WS2_32.LIB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
Windows SDK Libraries from \dmd2\windows\lib32mscoff\mingw
advapi32.lib
COMCTL32.LIB
comdlg32.lib
gdi32.lib
ole32.lib
OLEAUT32.LIB
shell32.lib
user32.lib
WS2_32.LIB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,10 @@
Windows SDK Libraries from \dmd2\windows\lib
advapi32.lib
COMCTL32.LIB
comdlg32.lib
gdi32.lib
ole32.lib
OLEAUT32.LIB
shell32.lib
user32.lib
WS2_32.LIB

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -16,6 +16,9 @@
@echo off
@cls
@rem For DUB.
pushd source\dfl
@rem You can change the default object model here
set MODEL=32mscoff
if not "%~1"=="" set MODEL=%~1
@ -158,3 +161,6 @@ if not "%dfl_release_flags%" == "" goto dfl_release_flags_set
:done
@echo.
@echo makecoff.bat completed.
@rem For DUB.
@popd

View file

@ -22,12 +22,17 @@
@call makecoff.bat
goto done
)
@if "%~1" == "32omf" set dmd_omf_flag=-m32omf
else set dmd_omf_flag=
@if "%~1" == "32omf" (
set dmd_omf_flag=-m32omf
) else (
set dmd_omf_flag=
)
@echo off
@cls
@rem For DUB.
pushd source\dfl
@rem Either set the environment variables dmd_path and dmc_path
@rem or fix the paths below.
@ -144,3 +149,6 @@ if not "%dfl_release_flags%" == "" goto dfl_release_flags_set
@rem @del %dfl_objs%
@del *.obj
@rem For DUB.
@popd

Some files were not shown because too many files have changed in this diff Show more