@@ -39,6 +39,12 @@ target-linux: [
39
39
vendor: pc
40
40
compiler: gcc
41
41
]
42
+ target-openbsd: [
43
+ os: openbsd
44
+ sys: openbsd
45
+ vendor: unknown
46
+ compiler: clang
47
+ ]
42
48
43
49
core-files: [
44
50
%core/a-constants.c
@@ -380,6 +386,12 @@ include-image-codecs: [
380
386
#if MacOS? [
381
387
:include-image-os-codec
382
388
]
389
+ #if OpenBSD? [
390
+ :include-native-bmp-codec
391
+ :include-native-png-codec
392
+ :include-native-jpg-codec
393
+ :include-native-gif-codec
394
+ ]
383
395
:include-native-qoi-codec
384
396
mezz-lib-files: %mezz/codec-image-ext.reb ; png/size? function and similar
385
397
]
@@ -417,12 +429,25 @@ include-midi: [
417
429
#if Linux? [
418
430
; there is no support yet
419
431
]
432
+ #if OpenBSD? [
433
+ ; there is no support yet
434
+ ]
420
435
]
421
436
422
437
;- native utilities:
423
438
include-bincode: [core-files: %core/u-bincode.c]
424
439
include-dialecting: [core-files: %core/u-dialect.c config: INCLUDE_DELECT]
425
- include-iconv: [core-files: %core/u-iconv.c #if macOS? [library: %iconv]]
440
+ include-iconv: [
441
+ core-files: %core/u-iconv.c
442
+ #if macOS? [
443
+ library: %iconv
444
+ ]
445
+ #if OpenBSD? [
446
+ library: %iconv
447
+ cflags: "-I/usr/local/include"
448
+ lflag: "-L/usr/local/lib"
449
+ ]
450
+ ]
426
451
427
452
;- native cryptography:
428
453
include-cryptography: [
@@ -662,6 +687,10 @@ common: [
662
687
library: %m
663
688
defines: ENDIAN_LITTLE
664
689
]
690
+ #if OpenBSD? [
691
+ library: %m
692
+ defines: ENDIAN_LITTLE
693
+ ]
665
694
]
666
695
667
696
common-host: [
@@ -677,6 +706,9 @@ common-host: [
677
706
; flag: -fvisibility=hidden
678
707
flag: -fPIC ; position independent (used for libs)
679
708
]
709
+ #if OpenBSD? [
710
+ flag: -fPIC ; position independent (used for libs)
711
+ ]
680
712
]
681
713
682
714
arch-x64: [
@@ -696,6 +728,9 @@ arch-x64: [
696
728
defines: TO_OSX_X64
697
729
defines: __LP64__ ; same like LLP64, but long (integer) has 64 bits instead of 32
698
730
]
731
+ #if OpenBSD? [
732
+ defines: TO_OPENBSD
733
+ ]
699
734
]
700
735
arch-x86: [
701
736
arch: x86
@@ -707,6 +742,9 @@ arch-x86: [
707
742
resource-options: "--target=pe-i386"
708
743
defines: TO_WIN32
709
744
]
745
+ #if OpenBSD? [
746
+ defines: TO_OPENBSD
747
+ ]
710
748
]
711
749
arch-arm64: [
712
750
:arch-x64
@@ -932,21 +970,72 @@ eggs: [
932
970
:make-x64-host
933
971
]
934
972
]
973
+ #if OpenBSD? [
974
+ "Rebol/Base openbsd-x64" [
975
+ name: %rebol3-base-openbsd-x64
976
+ :target-openbsd
977
+ :make-x64-exe
978
+ ]
979
+ "Rebol/Core openbsd-x64" [
980
+ name: %rebol3-core-openbsd-x64
981
+ :target-openbsd
982
+ :include-rebol-core
983
+ :make-x64-exe
984
+ ]
985
+ "Rebol/Bulk openbsd-x64" [
986
+ name: %rebol3-bulk-openbsd-x64
987
+ :target-openbsd
988
+ :include-rebol-bulk
989
+ :make-x64-exe
990
+ ]
991
+
992
+ "Rebol/Core openbsd-x64 shared library" [
993
+ name: %lib-rebol3-core-openbsd-x64
994
+ :target-openbsd
995
+ :include-rebol-core
996
+ :make-x64-dll
997
+ ]
998
+ "Rebol/Core openbsd-x64 host application" [
999
+ name: %host-core-openbsd-x64
1000
+ shared: %lib-rebol3-core-openbsd-x64
1001
+ :target-openbsd
1002
+ :include-rebol-core
1003
+ :make-x64-host
1004
+ ]
1005
+ ]
935
1006
"Test extension 32bit" [
936
1007
name: %test-x86.rebx
937
1008
files: only %tests/extension/test.c
938
1009
:arch-x86
939
1010
compiler: gcc
940
1011
flags: [-O2 shared]
941
- #if Linux? [ flag: -fPIC ]
942
- #either macOS? [:target-macos][compiler: gcc]
1012
+ #if Linux? [
1013
+ flag: -fPIC
1014
+ compiler: gcc
1015
+ ]
1016
+ #if MacOS? [
1017
+ :target-macos
1018
+ ]
1019
+ #if OpenBSD? [
1020
+ flag: -fPIC
1021
+ :target-openbsd
1022
+ ]
943
1023
]
944
1024
"Test extension 64bit" [
945
1025
name: %test-x64.rebx
946
1026
files: only %tests/extension/test.c
947
1027
:arch-x64
948
1028
flags: [-O2 shared]
949
- #if Linux? [ flag: -fPIC ]
950
- #either macOS? [:target-macos][compiler: gcc]
1029
+ #if Linux? [
1030
+ flag: -fPIC
1031
+ compiler: gcc
1032
+ ]
1033
+ #if MacOS? [
1034
+ :target-macos
1035
+ ]
1036
+ #if OpenBSD? [
1037
+ flag: -fPIC
1038
+ :target-openbsd
1039
+ ]
951
1040
]
952
1041
]
0 commit comments