Deleted .cirrus.yml version [6338675a88].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|
task:
name: FreeBSD 12.1
freebsd_instance:
image_family: freebsd-12-1
install_script:
pkg install -y autoconf automake
shared_script:
- ./autogen.sh
- ./configure
- make -j4 install
static_script:
- ./autogen.sh
- ./configure --disable-shared
- make -j4 install
shared_seluid24_script:
- ./autogen.sh
- ./configure --enable-seluid24
- make -j4 install
static_seluid24_script:
- ./autogen.sh
- ./configure --disable-shared --enable-seluid24
- make -j4 install
|
Modified .fossil-settings/clean-glob
from [c4150a9711]
to [06b87ad48d].
︙ | | |
46
47
48
49
50
51
52
53
54
55
56
|
46
47
48
49
50
51
52
53
54
55
56
57
|
+
|
tests/tests
tests/tests.3dsx
tests/tests.arm9
tests/tests.nds
tests/tests.nro
tests/tests.rpx
utils/objfw-config
utils/objfw-new/objfw-new
utils/ofarc/ofarc
utils/ofdns/ofdns
utils/ofhash/ofhash
utils/ofhttp/ofhttp
|
Modified .fossil-settings/ignore-glob
from [ed0ba1aa38]
to [23cb69850b].
︙ | | |
51
52
53
54
55
56
57
58
59
60
61
|
51
52
53
54
55
56
57
58
59
60
61
62
|
+
|
tests/tests
tests/tests.3dsx
tests/tests.arm9
tests/tests.nds
tests/tests.nro
tests/tests.rpx
utils/objfw-config
utils/objfw-new/objfw-new
utils/ofarc/ofarc
utils/ofdns/ofdns
utils/ofhash/ofhash
utils/ofhttp/ofhttp
|
Deleted .github/workflows/macos-10.15.yml version [0b4e6d02a3].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
|
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
|
name: macos-10.15
on: [push, pull_request]
jobs:
tests:
runs-on: macos-10.15
strategy:
matrix:
configure_flags:
-
- --disable-threads
- --disable-threads --disable-sockets
- --disable-threads --disable-files
- --disable-threads --disable-sockets --disable-files
- --disable-sockets
- --disable-sockets --disable-files
- --disable-files
- --disable-shared
steps:
- name: Install dependencies
run: brew install autoconf automake
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure ${{ matrix.configure_flags }}
- name: make
run: make -j$(sysctl -n hw.logicalcpu)
- name: make check
run: make check
- name: make install
run: sudo make install
|
Added .github/workflows/macos-12.yml version [a15421158f].
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: macos-12
on: [push, pull_request]
jobs:
tests:
runs-on: macos-12
strategy:
matrix:
configure_flags:
-
- --disable-threads
- --disable-threads --disable-sockets
- --disable-threads --disable-files
- --disable-threads --disable-sockets --disable-files
- --disable-sockets
- --disable-sockets --disable-files
- --disable-files
- --disable-shared
steps:
- name: Install dependencies
run: brew install autoconf automake
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure ${{ matrix.configure_flags }}
- name: make
run: make -j$(sysctl -n hw.logicalcpu)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Renamed and modified
.github/workflows/ubuntu-18.04-32bit.yml
[96c9a8ae41]
to .github/workflows/ubuntu-latest-32bit.yml
[3cbf56442c].
1
2
3
4
5
6
7
8
9
10
11
12
|
1
2
3
4
5
6
7
8
9
10
11
12
|
-
+
-
+
|
name: ubuntu-18.04, 32 bit
name: ubuntu-latest, 32 bit
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
strategy:
matrix:
configure_flags:
- --without-tls
- --without-tls --enable-seluid24
- --without-tls --disable-compiler-tls
- --without-tls --disable-threads
|
︙ | | |
Renamed and modified
.github/workflows/ubuntu-18.04-gcc-32bit.yml
[0e720701c6]
to .github/workflows/ubuntu-latest-gcc-32bit.yml
[b827a9a41f].
1
2
3
4
5
6
7
8
9
10
11
12
|
1
2
3
4
5
6
7
8
9
10
11
12
|
-
+
-
+
|
name: ubuntu-18.04, GCC, 32 bit
name: ubuntu-latest, GCC, 32 bit
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
strategy:
matrix:
configure_flags:
- --without-tls
- --without-tls --enable-seluid24
- --without-tls --disable-compiler-tls
- --without-tls --disable-threads
|
︙ | | |
Renamed and modified
.github/workflows/ubuntu-18.04-gcc.yml
[9e75cc2f04]
to .github/workflows/ubuntu-latest-gcc.yml
[4509107d9f].
1
2
3
4
5
6
7
8
9
10
11
12
|
1
2
3
4
5
6
7
8
9
10
11
12
|
-
+
-
+
|
name: ubuntu-18.04, GCC
name: ubuntu-latest, GCC
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --disable-threads
|
︙ | | |
Renamed and modified
.github/workflows/ubuntu-18.04.yml
[d0186b3566]
to .github/workflows/ubuntu-latest.yml
[36a38ec742].
1
2
3
4
5
6
7
8
9
10
11
12
|
1
2
3
4
5
6
7
8
9
10
11
12
|
-
+
-
+
|
name: ubuntu-18.04
name: ubuntu-latest
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-18.04
runs-on: ubuntu-latest
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --disable-threads
|
︙ | | |
Modified .gitignore
from [42e9f25720]
to [726b780402].
︙ | | |
51
52
53
54
55
56
57
58
59
60
61
|
51
52
53
54
55
56
57
58
59
60
61
62
|
+
|
tests/tests
tests/tests.3dsx
tests/tests.arm9
tests/tests.nds
tests/tests.nro
tests/tests.rpx
utils/objfw-config
utils/objfw-new/objfw-new
utils/ofarc/ofarc
utils/ofdns/ofdns
utils/ofhash/ofhash
utils/ofhttp/ofhttp
|
Modified Doxyfile
from [f4ff92fbc3]
to [6b8aa42255].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
-
-
+
+
-
-
-
+
+
+
-
-
+
+
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
|
PROJECT_NAME = "ObjFW"
OUTPUT_DIRECTORY = docs/
INPUT = src src/exceptions src/runtime
FILE_PATTERNS = *.h *.m
HTML_OUTPUT = .
HAVE_DOT = NO
GENERATE_LATEX = NO
HIDE_UNDOC_CLASSES = YES
HIDE_UNDOC_MEMBERS = YES
TYPEDEF_HIDES_STRUCT = YES
PREDEFINED = __OBJC__ \
_Nonnull \
_Nullable \
_Nonnull= \
_Nullable= \
DOXYGEN \
OF_BOXABLE \
OF_CONSUMED \
OF_DESIGNATED_INITIALIZER \
OF_BOXABLE= \
OF_CONSUMED= \
OF_DESIGNATED_INITIALIZER= \
OF_GENERIC(...)= \
OF_HAVE_BLOCKS \
OF_HAVE_FILES \
OF_HAVE_SANDBOX \
OF_HAVE_SOCKETS \
OF_HAVE_THREADS \
OF_KINDOF(...)= \
OF_NO_RETURN \
OF_NO_RETURN_FUNC \
OF_NO_RETURN= \
OF_NO_RETURN_FUNC= \
OF_NULLABLE_PROPERTY(...)= \
OF_NULL_RESETTABLE_PROPERTY(...)= \
OF_REQUIRES_SUPER \
OF_RETURNS_INNER_POINTER \
OF_RETURNS_NOT_RETAINED \
OF_RETURNS_RETAINED \
OF_ROOT_CLASS \
OF_SENTINEL \
OF_WARN_UNUSED_RESULT \
OF_WEAK_UNAVAILABLE \
OF_REQUIRES_SUPER= \
OF_RETURNS_INNER_POINTER= \
OF_RETURNS_NOT_RETAINED= \
OF_RETURNS_RETAINED= \
OF_ROOT_CLASS= \
OF_SENTINEL= \
OF_WARN_UNUSED_RESULT= \
OF_WEAK_UNAVAILABLE= \
SIGHUP \
SIGUSR1 \
SIGUSR2
MACRO_EXPANSION = YES
EXPAND_ONLY_PREDEF = YES
IGNORE_PREFIX = OF of_
|
Modified Makefile
from [63e28abf9d]
to [4341fed160].
︙ | | |
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
|
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
-
+
-
+
-
-
+
|
doxygen >/dev/null
release: docs
echo "Generating tarball for version ${PACKAGE_VERSION}..."
rm -fr objfw-${PACKAGE_VERSION} objfw-${PACKAGE_VERSION}.tar \
objfw-${PACKAGE_VERSION}.tar.gz
fossil tarball --name objfw-${PACKAGE_VERSION} current - \
--exclude '.cirrus*,.fossil*,.git*' | ofarc -ttgz -xq -
--exclude '.fossil*,.git*' | ofarc -ttgz -xq -
cp configure config.h.in objfw-${PACKAGE_VERSION}/
ofarc -cq objfw-${PACKAGE_VERSION}.tar \
ofarc -cq objfw-${PACKAGE_VERSION}.tar objfw-${PACKAGE_VERSION}
$$(find objfw-${PACKAGE_VERSION} | sort)
rm -fr objfw-${PACKAGE_VERSION}
gzip -9 objfw-${PACKAGE_VERSION}.tar
rm -f objfw-${PACKAGE_VERSION}.tar
gpg -b objfw-${PACKAGE_VERSION}.tar.gz || true
echo "Generating documentation..."
rm -fr docs
doxygen >/dev/null
rm -fr objfw-docs-${PACKAGE_VERSION} objfw-docs-${PACKAGE_VERSION}.tar \
objfw-docs-${PACKAGE_VERSION}.tar.gz
mv docs objfw-docs-${PACKAGE_VERSION}
echo "Generating docs tarball for version ${PACKAGE_VERSION}..."
ofarc -cq objfw-docs-${PACKAGE_VERSION}.tar \
$$(find objfw-docs-${PACKAGE_VERSION} | sort)
objfw-docs-${PACKAGE_VERSION}
rm -fr objfw-docs-${PACKAGE_VERSION}
gzip -9 objfw-docs-${PACKAGE_VERSION}.tar
rm -f objfw-docs-${PACKAGE_VERSION}.tar
gpg -b objfw-docs-${PACKAGE_VERSION}.tar.gz || true
|
Modified README.md
from [939967b8be]
to [711c05e9ce].
︙ | | |
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
|
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
|
-
+
-
-
+
+
-
-
+
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
The first thing to install is [MSYS2](https://www.msys2.org) to provide a
basic UNIX-like environment for Windows. Unfortunately, the binaries are not
signed, so make sure you download it via HTTPS. However, packages you
download and install via MSYS2 are cryptographically signed.
<h3 id="setting-up-msys2">Setting up MSYS2</h3>
MSYS2 currently supports 5 different
MSYS2 currently supports 7 different
[environments](https://www.msys2.org/docs/environments/). All of them except
for the one called just "MSYS" are supported, but which packages you need to
install depends on the environment(s) you want to use.
install depends on the environment(s) you want to use. If you only want to
target Windows 10 and newer, the CLANG64 and CLANG32 environments are the
For MINGW64, use:
recommended ones.
$ pacman -Syu mingw-w64-x86_64-clang mingw-w64-x86_64-fossil
For UCRT64, use:
$ pacman -Syu mingw-w64-ucrt-x86_64-clang mingw-w64-ucrt-x86_64-fossil
For CLANG64, use:
$ pacman -Syu mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-fossil
For CLANG32, use:
$ pacman -Syu mingw-w64-clang-i686-clang mingw-w64-clang-i686-fossil
For CLANGARM64, use (you need to use Fossil via another environment):
$ pacman -Syu mingw-w64-clang-aarch64-clang
For MINGW64, use:
$ pacman -Syu mingw-w64-x86_64-clang mingw-w64-x86_64-fossil
For MINGW32, use:
$ pacman -Syu mingw-w64-i686-clang mingw-w64-i686-fossil
For UCRT64, use:
$ pacman -Syu mingw-w64-ucrt-x86_64-clang mingw-w64-ucrt-x86_64-fossil
When using `pacman` to install the packages, `pacman` might tell you to close
the window. If it does so, close the window, restart MSYS2 and execute the
`pacman` command again.
There is nothing wrong with installing multiple environments, as MSYS2 has
created shortcuts for each of them in your start menu. Just make sure to use
the correct shortcut for the environment you want to use.
|
︙ | | |
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
|
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
|
-
+
|
$ ./configure --host=m68k-amigaos
<h1 id="first-app">Writing your first application with ObjFW</h1>
To create your first, empty application, you can use `objfw-new`:
$ objfw-new app MyFirstApp
$ objfw-new --app MyFirstApp
This creates a file `MyFirstApp.m`. The `-[applicationDidFinishLaunching]`
method is called as soon as ObjFW finished all initialization. Use this as
the entry point to your own code. For example, you could add the following
line there to create a "Hello World":
[OFStdOut writeLine: @"Hello World!"];
|
︙ | | |
Modified build-aux/m4/buildsys.m4
from [824bccf73b]
to [0e90ccf38e].
︙ | | |
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
|
-
+
|
*-*-mingw* | *-*-cygwin*)
AC_MSG_RESULT(MinGW / Cygwin)
LIB_CFLAGS=''
LIB_LDFLAGS='-shared -Wl,--export-all-symbols'
LIB_LDFLAGS_INSTALL_NAME=''
LIB_PREFIX=''
LIB_SUFFIX='${LIB_MAJOR}.dll'
LINK_LIB='&& ${LN_S} $$out lib$${out%${LIB_SUFFIX}}.dll.a'
LINK_LIB='&& rm -f lib$${out%${LIB_SUFFIX}}.dll.a && ${LN_S} $$out lib$${out%${LIB_SUFFIX}}.dll.a'
PLUGIN_CFLAGS=''
PLUGIN_LDFLAGS='-shared -Wl,--export-all-symbols'
PLUGIN_SUFFIX='.dll'
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
INSTALL_LIB='&& ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 lib$${i%${LIB_SUFFIX}}.dll.a ${DESTDIR}${libdir}/lib$${i%${LIB_SUFFIX}}.dll.a'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/lib$${i%${LIB_SUFFIX}}.dll.a'
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
︙ | | |
Modified buildsys.mk.in
from [a085f99653]
to [2dfee6e012].
︙ | | |
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
-
+
|
MKDIR_P = mkdir -p
INSTALL = @INSTALL@
SHELL = @SHELL@
MSGFMT = @MSGFMT@
JAVAC = @JAVAC@
JAVACFLAGS = @JAVACFLAGS@
JAR = @JAR@
WINDRES = @WINDRES@
RC = @RC@
BUILD_AND_HOST_ARE_DARWIN = @BUILD_AND_HOST_ARE_DARWIN@
prefix = @prefix@
exec_prefix = @exec_prefix@
bindir = @bindir@
libdir = @libdir@
amigalibdir ?= ${prefix}/libs
plugindir ?= ${libdir}/${PACKAGE_NAME}
|
︙ | | |
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
|
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
|
-
+
|
${COMPILE_FAILED}; \
fi
.rc.o .rc.lib.o .rc.plugin.o:
${COMPILE_STATUS}
in="$<"; \
out="$@"; \
if ${WINDRES} ${CPPFLAGS} -J rc -O coff -o $@ $<; then \
if ${RC} ${RCFLAGS} ${CPPFLAGS} -J rc -O coff -o $@ $<; then \
${COMPILE_OK}; \
else \
${COMPILE_FAILED}; \
fi
.S.o .S.amigalib.o:
${COMPILE_STATUS}
|
︙ | | |
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
|
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
|
-
+
|
${DIR_ENTER}; \
${MAKE} -s uninstall || exit $$?; \
${DIR_LEAVE}; \
done
for i in "" ${SHARED_LIB}; do \
test x"$$i" = x"" && continue; \
if test -f ${DESTDIR}${libdir}/$$i; then \
if test -f ${DESTDIR}${libdir}/$$i -o -f ${DESTDIR}${bindir}/$$i; then \
if : @UNINSTALL_LIB@; then \
${DELETE_OK}; \
else \
${DELETE_FAILED}; \
fi \
fi; \
done
|
︙ | | |
Modified configure.ac
from [0a2b73491f]
to [7dabccc96d].
︙ | | |
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
-
+
|
;;
*-msdosdjgpp*)
enable_shared="no"
enable_threads="no"
enable_sockets="no"
;;
*-*-mingw*)
LDFLAGS="$LDFLAGS -Wl,--allow-multiple-definition"
LDFLAGS="$LDFLAGS -Wl,--allow-multiple-definition -static-libgcc"
LIBS="$LIBS -lversion"
AC_SUBST(USE_SRCS_WINDOWS, '${SRCS_WINDOWS}')
;;
*-psp-*)
AS_IF([test x"$DEVKITPSP" = x""], [
AC_MSG_ERROR([DEVKITPSP is not set! Please set DEVKITPSP.])
|
︙ | | |
401
402
403
404
405
406
407
408
409
410
411
412
413
414
|
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
|
+
+
+
+
+
+
|
], [
AC_MSG_RESULT(no)
AC_MSG_ERROR(Compiler does not support properties!)
])
AC_CHECK_TOOL(AR, ar)
AC_PROG_RANLIB
case "$host_os" in
mingw*)
AC_CHECK_TOOL(RC, windres)
;;
esac
AC_ARG_ENABLE(amiga-lib,
AS_HELP_STRING([--disable-amiga-lib], [do not build Amiga library]))
AS_IF([test x"$supports_amiga_lib" != x"yes"], [enable_amiga_lib="no"])
AC_ARG_ENABLE(shared,
AS_HELP_STRING([--disable-shared], [do not build shared library]))
|
︙ | | |
494
495
496
497
498
499
500
501
502
503
504
505
506
507
|
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
|
+
|
#if defined(__GLIBC__) || defined(__MINGW32__) || \
defined(__NEWLIB__) || defined(__MORPHOS__) || defined(__MINT__)
egrep_cpp_yes
#endif
], [
AC_MSG_RESULT(yes)
CPPFLAGS="-D_FILE_OFFSET_BITS=64 -D_TIME_BITS=64 $CPPFLAGS"
CPPFLAGS="-D_GNU_SOURCE $CPPFLAGS"
gnu_source="yes"
], [
AC_MSG_RESULT(no)
])
case "$host_os" in
|
︙ | | |
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
|
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
|
+
+
+
+
|
dnl Compiler TLS is broken on AArch64 Android with Clang
enable_compiler_tls="no"
;;
m68k-*-amigaos* | powerpc-*-amigaos*)
dnl Compiler TLS is broken on AmigaOS
enable_compiler_tls="no"
;;
*-*-mingw*)
dnl Causes emutls to be pulled in, which pulls in winpthread.
enable_compiler_tls="no"
;;
*-*-morphos*)
dnl Compiler TLS needs helpers that we don't want in the
dnl .library
enable_compiler_tls="no"
;;
esac
|
︙ | | |
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
|
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
|
+
|
AC_MSG_RESULT($atomic_ops)
AC_ARG_ENABLE(files,
AS_HELP_STRING([--disable-files], [disable file support]))
AS_IF([test x"$enable_files" != x"no"], [
AC_DEFINE(OF_HAVE_FILES, 1, [Whether we have files])
AC_SUBST(USE_SRCS_FILES, '${SRCS_FILES}')
AC_SUBST(OBJFW_NEW, "objfw-new")
AC_SUBST(OFARC, "ofarc")
AC_SUBST(OFHASH, "ofhash")
case "$host_os" in
msdosdjgpp*)
dnl DJGPP has the type, but it's not really usable.
;;
|
︙ | | |
Modified extra.mk.in
from [889cd88ab7]
to [886ab17692].
︙ | | |
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
|
+
|
LINKLIB = @LINKLIB@
LOOKUP_ASM_A = @LOOKUP_ASM_A@
LOOKUP_ASM_AMIGALIB_A = @LOOKUP_ASM_AMIGALIB_A@
LOOKUP_ASM_LIB_A = @LOOKUP_ASM_LIB_A@
MAP_LDFLAGS = @MAP_LDFLAGS@
OBJC_SYNC = @OBJC_SYNC@
OBJFW_LIBS = @OBJFW_LIBS@
OBJFW_NEW = @OBJFW_NEW@
OFARC = @OFARC@
OFDNS = @OFDNS@
OFHASH = @OFHASH@
OFHTTP = @OFHTTP@
OFHTTP_LIBS = @OFHTTP_LIBS@
OF_BLOCK_TESTS_M = @OF_BLOCK_TESTS_M@
OF_EPOLL_KERNEL_EVENT_OBSERVER_M = @OF_EPOLL_KERNEL_EVENT_OBSERVER_M@
|
︙ | | |
Modified generators/library/LibraryGenerator.m
from [ffe3d87b12]
to [9e464281b0].
︙ | | |
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
-
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
-
+
-
+
-
+
-
+
-
+
|
*/
#include "config.h"
#import "OFApplication.h"
#import "OFFile.h"
#import "OFFileManager.h"
#import "OFURL.h"
#import "OFURI.h"
#import "OFXMLElement.h"
#import "FuncArrayGenerator.h"
#import "GlueGenerator.h"
#import "LinkLibGenerator.h"
@interface LibraryGenerator: OFObject <OFApplicationDelegate>
@end
OF_APPLICATION_DELEGATE(LibraryGenerator)
@implementation LibraryGenerator
- (void)generateInDirectory: (OFString *)directory
{
OFURL *sourcesURL = [[OFFileManager defaultManager].currentDirectoryURL
URLByAppendingPathComponent: directory];
OFURL *libraryURL = [sourcesURL
URLByAppendingPathComponent: @"amiga-library.xml"];
OFURL *linkLibURL = [sourcesURL
URLByAppendingPathComponent: @"linklib/linklib.m"];
OFURL *glueHeaderURL = [sourcesURL
URLByAppendingPathComponent: @"amiga-glue.h"];
OFURL *glueURL = [sourcesURL
URLByAppendingPathComponent: @"amiga-glue.m"];
OFURL *funcArrayURL = [sourcesURL
URLByAppendingPathComponent: @"amiga-funcarray.inc"];
OFURI *sourcesURI = [[OFFileManager defaultManager].currentDirectoryURI
URIByAppendingPathComponent: directory];
OFURI *libraryURI = [sourcesURI
URIByAppendingPathComponent: @"amiga-library.xml"];
OFURI *linkLibURI = [sourcesURI
URIByAppendingPathComponent: @"linklib/linklib.m"];
OFURI *glueHeaderURI = [sourcesURI
URIByAppendingPathComponent: @"amiga-glue.h"];
OFURI *glueURI = [sourcesURI
URIByAppendingPathComponent: @"amiga-glue.m"];
OFURI *funcArrayURI = [sourcesURI
URIByAppendingPathComponent: @"amiga-funcarray.inc"];
OFXMLElement *library = [OFXMLElement elementWithStream:
[OFFile fileWithPath: libraryURL.fileSystemRepresentation
[OFFile fileWithPath: libraryURI.fileSystemRepresentation
mode: @"r"]];
OFFile *linkLib =
[OFFile fileWithPath: linkLibURL.fileSystemRepresentation
[OFFile fileWithPath: linkLibURI.fileSystemRepresentation
mode: @"w"];
OFFile *glueHeader =
[OFFile fileWithPath: glueHeaderURL.fileSystemRepresentation
[OFFile fileWithPath: glueHeaderURI.fileSystemRepresentation
mode: @"w"];
OFFile *glue =
[OFFile fileWithPath: glueURL.fileSystemRepresentation mode: @"w"];
[OFFile fileWithPath: glueURI.fileSystemRepresentation mode: @"w"];
OFFile *funcArray =
[OFFile fileWithPath: funcArrayURL.fileSystemRepresentation
[OFFile fileWithPath: funcArrayURI.fileSystemRepresentation
mode: @"w"];
LinkLibGenerator *linkLibGenerator = [[[LinkLibGenerator alloc]
initWithLibrary: library
implementation: linkLib] autorelease];
GlueGenerator *glueGenerator = [[[GlueGenerator alloc]
initWithLibrary: library
header: glueHeader
|
︙ | | |
Modified generators/unicode/TableGenerator.m
from [442fb49647]
to [c1835e042f].
︙ | | |
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
-
+
-
+
-
+
|
#include "config.h"
#include <string.h>
#import "OFString.h"
#import "OFArray.h"
#import "OFApplication.h"
#import "OFURL.h"
#import "OFURI.h"
#import "OFHTTPRequest.h"
#import "OFHTTPResponse.h"
#import "OFHTTPClient.h"
#import "OFFile.h"
#import "OFStdIOStream.h"
#import "OFOutOfRangeException.h"
#import "TableGenerator.h"
#import "copyright.h"
static OFString *const unicodeDataURL =
static OFString *const unicodeDataURI =
@"http://www.unicode.org/Public/UNIDATA/UnicodeData.txt";
static OFString *const caseFoldingURL =
static OFString *const caseFoldingURI =
@"http://www.unicode.org/Public/UNIDATA/CaseFolding.txt";
OF_APPLICATION_DELEGATE(TableGenerator)
@implementation TableGenerator
- (instancetype)init
{
|
︙ | | |
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
-
-
+
+
|
- (void)applicationDidFinishLaunching
{
OFHTTPRequest *request;
[OFStdOut writeString: @"Downloading UnicodeData.txt…"];
_state = stateUnicodeData;
request = [OFHTTPRequest requestWithURL:
[OFURL URLWithString: unicodeDataURL]];
request = [OFHTTPRequest requestWithURI:
[OFURI URIWithString: unicodeDataURI]];
[_HTTPClient asyncPerformRequest: request];
}
- (void)client: (OFHTTPClient *)client
didPerformRequest: (OFHTTPRequest *)request
response: (OFHTTPResponse *)response
exception: (id)exception
|
︙ | | |
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
|
-
+
|
OFArray *decomposed = [[components objectAtIndex: 5]
componentsSeparatedByString: @" "];
bool compat = false;
OFMutableString *string;
if ([decomposed.firstObject hasPrefix: @"<"]) {
decomposed = [decomposed objectsInRange:
OFRangeMake(1, decomposed.count - 1)];
OFMakeRange(1, decomposed.count - 1)];
compat = true;
}
string = [OFMutableString string];
for (OFString *character in decomposed) {
OFUnichar unichar = (OFUnichar)[character
|
︙ | | |
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
|
-
-
+
+
|
[self applyDecompositionRecursivelyForTable: _decompositionTable];
[self applyDecompositionRecursivelyForTable: _decompositionCompatTable];
[OFStdOut writeLine: @" done"];
[OFStdOut writeString: @"Downloading CaseFolding.txt…"];
_state = stateCaseFolding;
request = [OFHTTPRequest requestWithURL:
[OFURL URLWithString: caseFoldingURL]];
request = [OFHTTPRequest requestWithURI:
[OFURI URIWithString: caseFoldingURI]];
[_HTTPClient asyncPerformRequest: request];
}
- (void)parseCaseFolding: (OFHTTPResponse *)response
{
OFString *line;
|
︙ | | |
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
-
+
-
-
+
+
-
-
+
+
|
objc_autoreleasePoolPop(pool);
}
} while (!done);
}
- (void)writeFiles
{
OFURL *URL;
OFURI *URI;
[OFStdOut writeString: @"Writing files…"];
URL = [OFURL fileURLWithPath: @"../../src/unicode.m"];
[self writeTablesToFile: URL.fileSystemRepresentation];
URI = [OFURI fileURIWithPath: @"../../src/unicode.m"];
[self writeTablesToFile: URI.fileSystemRepresentation];
URL = [OFURL fileURLWithPath: @"../../src/unicode.h"];
[self writeHeaderToFile: URL.fileSystemRepresentation];
URI = [OFURI fileURIWithPath: @"../../src/unicode.h"];
[self writeHeaderToFile: URI.fileSystemRepresentation];
[OFStdOut writeLine: @" done"];
[OFApplication terminate];
}
- (void)writeTablesToFile: (OFString *)path
|
︙ | | |
Modified src/Makefile
from [aac3885b94]
to [154d61da0e].
︙ | | |
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
-
-
|
OFConstantString.m \
OFCountedSet.m \
OFData.m \
OFData+CryptographicHashing.m \
OFData+MessagePackParsing.m \
OFDate.m \
OFDictionary.m \
OFEmbeddedFileURLHandler.m \
OFEnumerator.m \
OFFileManager.m \
OFGZIPStream.m \
OFHMAC.m \
OFINICategory.m \
OFINIFile.m \
OFINIFileSettings.m \
OFInflate64Stream.m \
OFInflateStream.m \
OFInvocation.m \
OFLHAArchive.m \
OFLHAArchiveEntry.m \
OFList.m \
OFLocale.m \
|
︙ | | |
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
|
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
|
-
+
|
OFMutableDictionary.m \
OFMutableLHAArchiveEntry.m \
OFMutablePair.m \
OFMutableSet.m \
OFMutableString.m \
OFMutableTarArchiveEntry.m \
OFMutableTriple.m \
OFMutableURL.m \
OFMutableURI.m \
OFMutableZIPArchiveEntry.m \
OFNotification.m \
OFNotificationCenter.m \
OFNull.m \
OFNumber.m \
OFObject.m \
OFObject+KeyValueCoding.m \
|
︙ | | |
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
|
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
+
-
-
-
+
+
|
OFSet.m \
OFSortedList.m \
OFStdIOStream.m \
OFStream.m \
OFString.m \
OFString+CryptographicHashing.m \
OFString+JSONParsing.m \
OFString+PercentEncoding.m \
OFString+PropertyListParsing.m \
OFString+Serialization.m \
OFString+URLEncoding.m \
OFString+XMLEscaping.m \
OFString+XMLUnescaping.m \
${OF_SUBPROCESS_M} \
OFSettings.m \
OFSystemInfo.m \
OFTarArchive.m \
OFTarArchiveEntry.m \
OFThread.m \
OFTimer.m \
OFTriple.m \
OFURL.m \
OFURLHandler.m \
OFURI.m \
OFURIHandler.m \
OFUUID.m \
OFValue.m \
OFXMLAttribute.m \
OFXMLCDATA.m \
OFXMLCharacters.m \
OFXMLComment.m \
OFXMLElement.m \
|
︙ | | |
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
|
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
|
-
-
+
+
+
+
+
+
|
SRCS_THREADS = OFCondition.m \
OFMutex.m \
OFPlainCondition.m \
OFPlainMutex.m \
OFPlainThread.m \
OFRecursiveMutex.m \
OFTLSKey.m
SRCS_WINDOWS = OFWin32ConsoleStdIOStream.m \
OFWindowsRegistryKey.m
SRCS_WINDOWS = OFWindowsRegistryKey.m
INCLUDES_ATOMIC = OFAtomic.h \
platform/GCC4/OFAtomic.h \
platform/GCC4.7/OFAtomic.h \
platform/PowerPC/OFAtomic.h \
platform/macOS/OFAtomic.h \
platform/x86/OFAtomic.h
INCLUDES := ${SRCS:.m=.h} \
OFArchiveEntry.h \
OFCollection.h \
OFCryptographicHash.h \
OFJSONRepresentation.h \
OFKernelEventObserver.h \
OFKeyValueCoding.h \
OFLocking.h \
OFMessagePackRepresentation.h \
OFMutableArchiveEntry.h \
ObjFW.h \
macros.h \
objfw-defs.h \
platform.h \
${USE_INCLUDES_ATOMIC}
SRCS += OFASPrintF.m \
OFAdjacentArray.m \
OFAdjacentSubarray.m \
OFArchiveURIHandler.m \
OFBase64.m \
OFBitSetCharacterSet.m \
OFBytesValue.m \
OFCRC16.m \
OFCRC32.m \
OFCountedMapTableSet.m \
OFEmbeddedURIHandler.m \
OFHuffmanTree.m \
OFINIFileSettings.m \
OFInvertedCharacterSet.m \
OFLHADecompressingStream.m \
OFMapTableDictionary.m \
OFMapTableSet.m \
OFMutableAdjacentArray.m \
OFMutableMapTableDictionary.m \
OFMutableMapTableSet.m \
|
︙ | | |
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
|
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
|
-
-
+
+
-
+
+
+
|
OFSizeValue.m \
OFStrPTime.m \
OFSubarray.m \
OFUTF8String.m \
${LIBBASES_M} \
${RUNTIME_AUTORELEASE_M} \
${RUNTIME_INSTANCE_M} \
${UNICODE_M}
SRCS_FILES += OFFileURLHandler.m
${UNICODE_M}
SRCS_FILES += OFFileURIHandler.m
SRCS_SOCKETS += OFDNSResolverSettings.m \
${OF_EPOLL_KERNEL_EVENT_OBSERVER_M} \
OFHTTPURLHandler.m \
OFHTTPURIHandler.m \
OFHostAddressResolver.m \
OFIPSocketAsyncConnector.m \
OFKernelEventObserver.m \
${OF_KQUEUE_KERNEL_EVENT_OBSERVER_M} \
${OF_POLL_KERNEL_EVENT_OBSERVER_M} \
${OF_SELECT_KERNEL_EVENT_OBSERVER_M} \
OFTCPSocketSOCKS5Connector.m
SRCS_WINDOWS += platform/Windows/OFWin32ConsoleStdIOStream.m \
versioninfo.rc
OBJS_EXTRA = exceptions/exceptions.a \
encodings/encodings.a \
forwarding/forwarding.a
LIB_OBJS_EXTRA = exceptions/exceptions.lib.a \
encodings/encodings.lib.a \
forwarding/forwarding.lib.a
|
︙ | | |
252
253
254
255
256
257
258
|
256
257
258
259
260
261
262
263
264
265
266
267
|
+
+
+
+
+
|
LD = ${OBJC}
FRAMEWORK_LIBS := -Fruntime \
${RUNTIME_FRAMEWORK_LIBS} \
${REEXPORT_RUNTIME_FRAMEWORK} \
${LIBS}
LIBS := -Lruntime -Lruntime/linklib ${RUNTIME_LIBS} ${REEXPORT_RUNTIME} ${LIBS}
AMIGA_LIB_LIBS = ${LIBS}
RCFLAGS = --use-temp-file \
-DOBJFW_LIB_MAJOR=${OBJFW_LIB_MAJOR} \
-DOBJFW_LIB_MINOR=${OBJFW_LIB_MINOR} \
-DOBJFW_LIB_VERSION=\"${OBJFW_LIB_MAJOR}.${OBJFW_LIB_MINOR}\" \
-DOBJFW_SHARED_LIB=\"${OBJFW_SHARED_LIB}\"
|
Modified src/OFASPrintF.m
from [31044637f2]
to [882db55cea].
︙ | | |
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
|
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
|
-
+
|
return false;
/*
* If there's no asprintf_l, we have no other choice than to
* use this ugly hack to replace the locale's decimal point
* back to ".".
*/
point = [OFLocale decimalPoint];
point = [OFLocale decimalSeparator];
if (!ctx->useLocale && point != nil && ![point isEqual: @"."]) {
void *pool = objc_autoreleasePoolPush();
char *tmp2;
@try {
OFMutableString *tmpStr = [OFMutableString
|
︙ | | |
Added src/OFArchiveEntry.h version [70aea150d9].