Added .github/workflows/amiga-gcc.yml version [16471286d2].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: amiga-gcc
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
configure_flags:
-
- --disable-amiga-lib
steps:
- name: Install dependencies
run: docker pull amigadev/crosstools:m68k-amigaos
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: |
docker run \
-e PATH="/opt/m68k-amigaos/bin:$PATH" \
-v "$PWD:/objfw" \
amigadev/crosstools:m68k-amigaos \
sh -c 'cd /objfw && ./configure --host=m68k-amigaos ${{ matrix.configure_flags }}'
- name: make
run: |
docker run \
-e PATH="/opt/m68k-amigaos/bin:$PATH" \
-v "$PWD:/objfw" \
amigadev/crosstools:m68k-amigaos \
sh -c "cd /objfw && make -j$(nproc)"
- name: make install
run: |
docker run \
-e PATH="/opt/m68k-amigaos/bin:$PATH" \
-v "$PWD:/objfw" \
amigadev/crosstools:m68k-amigaos \
sh -c "cd /objfw && make -j$(nproc)"
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ios.yml version [dd34f22809].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ios
on: [push, pull_request]
jobs:
build:
runs-on: macos-latest
strategy:
matrix:
arch:
- arm64
- x86_64
configure_flags:
-
- --disable-shared
steps:
- name: Install dependencies
run: brew install autoconf automake
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: |
export IPHONEOS_DEPLOYMENT_TARGET="9.0"
if [ "${{ matrix.arch}}" = "x86_64" ]; then
sdk="iphonesimulator"
else
sdk="iphoneos"
fi
export OBJC="clang -isysroot $(xcrun --sdk $sdk --show-sdk-path)"
export OBJC="$OBJC -arch ${{ matrix.arch }}"
./configure --host=${{ matrix.arch }}-apple-darwin \
${{ matrix.configure_flags }}
- name: make
run: make -j$(sysctl -n hw.logicalcpu)
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .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-11.yml version [d79ffc1fb9].
|
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-11
on: [push, pull_request]
jobs:
tests:
runs-on: macos-11
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/morphos.yml version [0f27c2ab37].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: morphos
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
configure_flags:
-
- --disable-amiga-lib
steps:
- name: Install dependencies
run: docker pull amigadev/crosstools:ppc-morphos
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: |
docker run \
-e PATH="/opt/ppc-morphos/bin:$PATH" \
-v "$PWD:/objfw" \
amigadev/crosstools:ppc-morphos \
sh -c 'cd /objfw && ./configure --host=ppc-morphos ${{ matrix.configure_flags }}'
- name: make
run: |
docker run \
-e PATH="/opt/ppc-morphos/bin:$PATH" \
-v "$PWD:/objfw" \
amigadev/crosstools:ppc-morphos \
sh -c "cd /objfw && make -j$(nproc)"
- name: make install
run: |
docker run \
-e PATH="/opt/ppc-morphos/bin:$PATH" \
-v "$PWD:/objfw" \
amigadev/crosstools:ppc-morphos \
sh -c "cd /objfw && make -j$(nproc)"
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/nintendo-3ds.yml version [67061ee611].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: nintendo-3ds
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: docker pull devkitpro/devkitarm
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitARM/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitarm \
sh -c 'cd /objfw && ./configure --host=arm-none-eabi --with-3ds'
- name: make
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitARM/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitarm \
sh -c "cd /objfw && make -j$(nproc)"
- name: make install
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitARM/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitarm \
sh -c "cd /objfw && make -j$(nproc)"
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/nintendo-ds.yml version [3d41e0f5f7].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: nintendo-ds
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: docker pull devkitpro/devkitarm
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitARM/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitarm \
sh -c 'cd /objfw && ./configure --host=arm-none-eabi --with-nds'
- name: make
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitARM/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitarm \
sh -c "cd /objfw && make -j$(nproc)"
- name: make install
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitARM/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitarm \
sh -c "cd /objfw && make -j$(nproc)"
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ubuntu-18.04-32bit.yml version [c84b2e26e8].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ubuntu-18.04, 32 bit
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-18.04
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --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
- --disable-shared --enable-seluid24
- --disable-compiler-tls --disable-threads
steps:
- name: Install dependencies
run: sudo apt install gcc-multilib
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure OBJC="clang -m32" ${{ matrix.configure_flags }}
- name: make
run: make -j$(nproc)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ubuntu-18.04-gcc-32bit.yml version [fffc9a783b].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ubuntu-18.04, GCC, 32 bit
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-18.04
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --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
- --disable-shared --enable-seluid24
- --disable-compiler-tls --disable-threads
steps:
- name: Install dependencies
run: sudo apt install gcc-multilib gobjc
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure OBJC="gcc -m32" ${{ matrix.configure_flags }}
- name: make
run: make -j$(nproc)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ubuntu-18.04-gcc.yml version [abecbdd592].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ubuntu-18.04, GCC
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-18.04
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --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
- --disable-shared --enable-seluid24
- --disable-compiler-tls --disable-threads
steps:
- name: Install dependencies
run: sudo apt install gobjc
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure OBJC="gcc" ${{ matrix.configure_flags }}
- name: make
run: make -j$(nproc)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ubuntu-18.04.yml version [1b051883aa].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ubuntu-18.04
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-18.04
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --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
- --disable-shared --enable-seluid24
- --disable-compiler-tls --disable-threads
steps:
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure ${{ matrix.configure_flags }}
- name: make
run: make -j$(nproc)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ubuntu-20.04-32bit.yml version [67fdadee3b].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ubuntu-20.04, 32 bit
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-20.04
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --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
- --disable-shared --enable-seluid24
- --disable-compiler-tls --disable-threads
steps:
- name: Install dependencies
run: sudo apt install gcc-multilib
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure OBJC="clang -m32" ${{ matrix.configure_flags }}
- name: make
run: make -j$(nproc)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ubuntu-20.04-gcc-32bit.yml version [77cd8547b9].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ubuntu-20.04, GCC, 32 bit
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-20.04
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --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
- --disable-shared --enable-seluid24
- --disable-compiler-tls --disable-threads
steps:
- name: Install dependencies
run: sudo apt install gcc-multilib gobjc
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure OBJC="gcc -m32" ${{ matrix.configure_flags }}
- name: make
run: make -j$(nproc)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ubuntu-20.04-gcc.yml version [722d29b103].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ubuntu-20.04, GCC
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-20.04
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --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
- --disable-shared --enable-seluid24
- --disable-compiler-tls --disable-threads
steps:
- name: Install dependencies
run: sudo apt install gobjc
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure OBJC="gcc" ${{ matrix.configure_flags }}
- name: make
run: make -j$(nproc)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/ubuntu-20.04.yml version [b1e6e1b321].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: ubuntu-20.04
on: [push, pull_request]
jobs:
tests:
runs-on: ubuntu-20.04
strategy:
matrix:
configure_flags:
-
- --enable-seluid24
- --disable-compiler-tls
- --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
- --disable-shared --enable-seluid24
- --disable-compiler-tls --disable-threads
steps:
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: ./configure ${{ matrix.configure_flags }}
- name: make
run: make -j$(nproc)
- name: make check
run: make check
- name: make install
run: sudo make install
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Added .github/workflows/wii.yml version [39c842705b].
|
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
|
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
|
name: wii
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Install dependencies
run: docker pull devkitpro/devkitppc
- uses: actions/checkout@v2
- name: autogen.sh
run: ./autogen.sh
- name: configure
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitPPC/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitppc \
sh -c 'cd /objfw && ./configure --host=powerpc-eabi --with-wii'
- name: make
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitPPC/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitppc \
sh -c "cd /objfw && make -j$(nproc)"
- name: make install
run: |
docker run \
-e DEVKITPRO=/opt/devkitpro \
-e PATH="/opt/devkitpro/devkitPPC/bin:$PATH" \
-v "$PWD:/objfw" \
devkitpro/devkitppc \
sh -c "cd /objfw && make -j$(nproc)"
|
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | |
Modified Doxyfile
from [51b1f8245c]
to [c1793ad29f].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
+
|
PROJECT_NAME = "ObjFW"
OUTPUT_DIRECTORY = docs/
INPUT = src src/exceptions src/runtime
FILE_PATTERNS = *.h *.m
HTML_OUTPUT = .
GENERATE_LATEX = NO
HIDE_UNDOC_CLASSES = YES
HIDE_UNDOC_MEMBERS = YES
TYPEDEF_HIDES_STRUCT = YES
PREDEFINED = __OBJC__ \
DOXYGEN \
OF_BOXABLE \
OF_CONSUMED \
OF_DESIGNATED_INITIALIZER \
OF_GENERIC(...)= \
OF_HAVE_BLOCKS \
|
︙ | | |
Modified Makefile
from [b5f8b9bb2c]
to [63e28abf9d].
︙ | | |
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
+
+
+
|
include buildsys.mk
.PHONY: docs release
utils tests: src
check: tests
cd tests && ${MAKE} -s run
docs:
rm -fr docs
doxygen >/dev/null
release: docs
echo "Generating tarball for version ${PACKAGE_VERSION}..."
rm -fr objfw-${PACKAGE_VERSION} objfw-${PACKAGE_VERSION}.tar \
|
︙ | | |
Modified README.md
from [c56b6e4a95]
to [df7d0bd20b].
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
|
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
|
-
+
-
+
-
+
-
|
There are three ways you are probably reading this right now:
* On [ObjFW](https://objfw.nil.im/)'s homepage, via Fossil
* On [ObjFW](https://objfw.nil.im/)'s homepage, via Fossil's web interface
* On [GitHub](https://github.com/ObjFW/ObjFW)
* Via an editor or pager, by opening `README.md` from a checkout or tarball
* Via an editor or pager, by opening `README.md` from a clone or tarball
ObjFW is developed using Fossil, so if you are reading this on GitHub or any
other place, you are most likely using a mirror.
<h1 id="table-of-contents">Table of Contents</h1>
* [What is ObjFW?](#what)
* [License](#license)
* [Releases](#releases)
* [Cloning the repository](#cloning)
* [Installation](#installation)
* [macOS and iOS](#macos-and-ios)
* [Building as a framework](#building-framework)
* [Using the macOS or iOS framework in Xcode](#framework-in-xcode)
* [Broken Xcode versions](#broken-xcode-versions)
* [Windows](#windows)
* [Getting MSYS2](#getting-msys2)
* [Updating MSYS2](#updating-msys2)
* [Setting up MSYS2](#setting-up-msys2)
* [Installing MinGW-w64 using MSYS2](#installing-mingw-w64)
* [Getting, building and installing ObjFW](#steps-windows)
* [Nintendo DS, Nintendo 3DS and Wii](#nintendo)
* [Nintendo DS](#nintendo-ds)
* [Nintendo 3DS](#nintendo-3ds)
* [Wii](#wii)
* [Amiga](#amiga)
* [Writing your first application with ObjFW](#first-app)
|
︙ | | |
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
|
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
|
-
+
-
-
+
|
The main advantage of cloning the Fossil repository over cloning the Git
repository is that you also get all the tickets, wiki pages, etc.
<h2 id="cloning-fossil">Fossil</h2>
Clone the Fossil repository like this:
$ fossil clone https://objfw.nil.im objfw.fossil
$ fossil clone https://objfw.nil.im
$ mkdir objfw && cd objfw
$ fossil open ../objfw.fossil
You can then use Fossil's web interface to browse the timeline, tickets,
wiki pages, etc.:
$ cd objfw
$ fossil ui
It's also possible to open the same local repository multiple times, so that
you have multiple working directories all backed by the same local
repository.
In order to verify the signature of the currently checked out checkin, you
|
︙ | | |
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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
|
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
-
-
+
+
-
+
-
+
|
individual commit, branch head or tag, please use Fossil.
<h1 id="installation">Installation</h1>
To install ObjFW, just run the following commands:
$ ./configure
$ make
$ make install
$ make check
$ sudo make install
In case you checked out ObjFW from the Fossil or Git repository, you need to
run the following command first:
$ ./autogen.sh
<h2 id="macos-and-ios">macOS and iOS</h2>
<h3 id="building-framework">Building as a framework</h3>
When building for macOS or iOS, everything is built as a `.framework` by
default if `--disable-shared` has not been specified to `configure`.
To build for iOS, use something like this:
$ clang="clang -isysroot $(xcrun --sdk iphoneos --show-sdk-path)"
$ export OBJC="$clang -arch armv7 -arch arm64"
$ export OBJCPP="$clang -arch armv7 -E"
$ export IPHONEOS_DEPLOYMENT_TARGET="9.0"
$ ./configure --prefix=/usr/local/ios --host=arm-apple-darwin
$ ./configure --prefix=/usr/local/ios --host=arm64-apple-darwin
To build for the iOS simulator, use something like this:
$ clang="clang -isysroot $(xcrun --sdk iphonesimulator --show-sdk-path)"
$ export OBJC="$clang -arch i386 -arch x86_64"
$ export OBJCPP="$clang -arch i386 -E"
$ export IPHONEOS_DEPLOYMENT_TARGET="9.0"
$ ./configure --prefix=/usr/local/iossim --host=i386-apple-darwin
$ ./configure --prefix=/usr/local/iossim --host=x86_64-apple-darwin
<h3 id="framework-in-xcode">Using the macOS or iOS framework in Xcode</h3>
To use the macOS framework in Xcode, you need to add the `.framework`s to
your project and add the following flags to `Other C Flags`:
-fconstant-string-class=OFConstantString -fno-constant-cfstrings
|
︙ | | |
207
208
209
210
211
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
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
|
205
206
207
208
209
210
211
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
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
|
-
+
-
-
+
-
+
-
-
+
-
-
-
+
-
-
+
-
+
-
+
-
+
-
-
+
-
+
-
+
-
-
-
+
-
+
-
+
-
-
-
+
+
+
-
-
+
+
-
-
+
-
+
-
+
-
+
-
-
+
-
+
-
-
-
+
-
+
|
there are many MinGW versions that behave slightly differently and often
cause problems.
<h3 id="getting-msys2">Getting MSYS2</h3>
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 and there is no way to verify their integrity, so only download this
signed, so make sure you download it via HTTPS. However, packages you
from a trusted connection. Everything else you will download using MSYS2
later will be cryptographically signed.
download and install via MSYS2 are cryptographically signed.
<h3 id="updating-msys2">Updating MSYS2</h3>
<h3 id="setting-up-msys2">Setting up MSYS2</h3>
The first thing to do is updating MSYS2. It is important to update things in
a certain order, as `pacman` (the package manager MSYS2 uses, which comes
MSYS2 currently supports 5 different
from Arch Linux) does not know about a few things that are special on
Windows.
[environments](https://www.msys2.org/docs/environments/). All of them except
First, update the mirror list:
for the one called just "MSYS" are supported, but which packages you need to
$ pacman -Sy pacman-mirrors
install depends on the environment(s) you want to use.
Then proceed to update the `msys2-runtime` itself, `bash` and `pacman`:
For MINGW64, use:
$ pacman -S msys2-runtime bash pacman mintty
$ pacman -Syu mingw-w64-x86_64-clang mingw-w64-x86_64-fossil
Now close the current window and restart MSYS2, as the current window is now
defunct. In a new MSYS2 window, update the rest of MSYS2:
For UCRT64, use:
$ pacman -Su
$ pacman -Syu mingw-w64-ucrt-x86_64-clang mingw-w64-ucrt-x86_64-fossil
Now you have a fully updated MSYS2. Whenever you want to update MSYS2,
For CLANG64, use:
proceed in this order. Notice that the first `pacman` invocation includes
`-y` to actually fetch a new list of packages.
<h3 id="installing-mingw-w64">Installing MinGW-w64 using MSYS2</h3>
$ pacman -Syu mingw-w64-clang-x86_64-clang mingw-w64-clang-x86_64-fossil
Now it's time to install MinGW-w64. If you want to build 32 bit binaries:
For MINGW32, use:
$ pacman -S mingw-w64-i686-clang mingw-w64-i686-gcc-objc
$ pacman -Syu mingw-w64-i686-clang mingw-w64-i686-fossil
For 64 bit binaries:
$ pacman -S mingw-w64-x86_64-clang mingw-w64-x86_64-gcc-objc
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 them both, as MSYS2 has created two
entries in your start menu: `MinGW-w64 Win32 Shell` and
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
`MinGW-w64 Win64 Shell`. So if you want to build for 32 or 64 bit, you just
start the correct shell.
the correct shortcut for the environment you want to use.
Finally, install a few more things needed to build ObjFW:
Finally, install a few more things that are common between all environments:
$ pacman -S autoconf automake fossil make
$ pacman -S autoconf automake make
<h3 id="steps-windows">Getting, building and installing ObjFW</h3>
Start the MinGW-w64 Win32 or Win64 Shell (depening on what version you want
Start the MSYS2 using the shortcut for the environment you want to use and
to build - do *not* use the MSYS2 Shell shortcut, but use the MinGW-w64 Win32
or Win64 Shell shortcut instead!) and check out ObjFW:
check out ObjFW:
$ fossil clone https://objfw.nil.im objfw.fossil
$ fossil clone https://objfw.nil.im
$ mkdir objfw && cd objfw
$ fossil open ../objfw.fossil
You can also download a release tarball if you want. Now go to the newly
You can also download a release tarball if you want. Now `cd` to the newly
checked out repository and build and install it:
$ ./autogen.sh && ./configure && make -j16 install
If everything was successfully, you can now build projects using ObjFW for
If everything was successful, you can now build projects using ObjFW for
Windows using the normal `objfw-compile` and friends.
<h2 id="nintendo">Nintendo DS, Nintendo 3DS and Wii</h2>
Download and install [devkitPro](https://devkitpro.org/wiki/Getting_Started).
<h3 id="nintendo-ds">Nintendo DS</h3>
|
︙ | | |
Modified build-aux/m4/buildsys.m4
from [8a8480cbc5]
to [3c7fd1fbe8].
︙ | | |
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
+
+
+
|
dnl SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
dnl INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
dnl CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
dnl ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
dnl POSSIBILITY OF SUCH DAMAGE.
dnl
AC_ARG_ENABLE(rpath,
AS_HELP_STRING([--disable-rpath], [do not use rpath]))
AC_DEFUN([BUILDSYS_INIT], [
AC_REQUIRE([AC_CANONICAL_BUILD])
AC_REQUIRE([AC_CANONICAL_HOST])
case "$build_os" in
darwin*)
case "$host_os" in
|
︙ | | |
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
206
207
208
209
210
211
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
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
|
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
206
207
208
209
210
211
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
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
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
|
+
+
-
+
-
+
-
-
+
+
+
+
+
-
+
+
+
+
+
+
|
*-*-darwin*)
AC_MSG_RESULT(Darwin)
LIB_CFLAGS='-fPIC -DPIC'
LIB_LDFLAGS='-dynamiclib -current_version ${LIB_MAJOR}.${LIB_MINOR} -compatibility_version ${LIB_MAJOR}'
LIB_LDFLAGS_INSTALL_NAME='-Wl,-install_name,${libdir}/$${out%.dylib}.${LIB_MAJOR}.dylib'
LIB_PREFIX='lib'
LIB_SUFFIX='.dylib'
AS_IF([test x"$enable_rpath" != x"no"], [
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
])
PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-bundle ${PLUGIN_LDFLAGS_BUNDLE_LOADER}'
PLUGIN_SUFFIX='.bundle'
AS_IF([test x"$host_is_ios" = x"yes"], [
LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Info.plist; fi && ${LD} -o $$out/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} --timestamp=none $$out'
], [
LINK_PLUGIN='rm -fr $$out && ${MKDIR_P} $$out/Contents/MacOS && if test -f Info.plist; then ${INSTALL} -m 644 Info.plist $$out/Contents/Info.plist; fi && ${LD} -o $$out/Contents/MacOS/$${out%${PLUGIN_SUFFIX}} ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS} && ${CODESIGN} -fs ${CODESIGN_IDENTITY} --timestamp=none $$out'
])
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib && ${LN_S} -f $${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib ${DESTDIR}${libdir}/$$i'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.dylib ${DESTDIR}${libdir}/$${i%.dylib}.${LIB_MAJOR}.${LIB_MINOR}.dylib'
INSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i && cp -R $$i ${DESTDIR}${plugindir}/'
UNINSTALL_PLUGIN='&& rm -fr ${DESTDIR}${plugindir}/$$i'
CLEAN_LIB=''
;;
*-*-mingw* | *-*-cygwin*)
AC_MSG_RESULT(MinGW / Cygwin)
LIB_CFLAGS=''
LIB_LDFLAGS='-shared -Wl,--export-all-symbols,--out-implib,lib$$out.a'
LIB_LDFLAGS='-shared -Wl,--export-all-symbols,--out-implib,lib$${out%${LIB_SUFFIX}}.a'
LIB_LDFLAGS_INSTALL_NAME=''
LIB_PREFIX=''
LIB_SUFFIX='.dll'
LIB_SUFFIX='${LIB_MAJOR}.dll'
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
PLUGIN_CFLAGS=''
PLUGIN_LDFLAGS='-shared'
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.a ${DESTDIR}${libdir}/lib$$i.a'
INSTALL_LIB='&& ${MKDIR_P} ${DESTDIR}${bindir} && ${INSTALL} -m 755 $$i ${DESTDIR}${bindir}/$$i && ${INSTALL} -m 755 lib$${i%${LIB_SUFFIX}}.a ${DESTDIR}${libdir}/lib$${i%${LIB_SUFFIX}}.a'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${bindir}/$$i ${DESTDIR}${libdir}/lib$$i.a'
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
CLEAN_LIB='${SHARED_LIB}.a ${SHARED_LIB_NOINST}.a'
;;
*-*-openbsd* | *-*-mirbsd*)
AC_MSG_RESULT(OpenBSD)
LIB_CFLAGS='-fPIC -DPIC'
LIB_LDFLAGS='-shared'
LIB_LDFLAGS_INSTALL_NAME=''
LIB_PREFIX='lib'
LIB_SUFFIX='.so.${LIB_MAJOR}.${LIB_MINOR}'
AS_IF([test x"$enable_rpath" != x"no"], [
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
])
PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-shared'
PLUGIN_SUFFIX='.so'
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i'
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
CLEAN_LIB=''
;;
*-*-solaris*)
AC_MSG_RESULT(Solaris)
LIB_CFLAGS='-fPIC -DPIC'
LIB_LDFLAGS='-shared -Wl,-soname=$$out.${LIB_MAJOR}.${LIB_MINOR}'
LIB_LDFLAGS_INSTALL_NAME=''
LIB_PREFIX='lib'
LIB_SUFFIX='.so'
AS_IF([test x"$enable_rpath" != x"no"], [
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
])
PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-shared'
PLUGIN_SUFFIX='.so'
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR} && rm -f ${DESTDIR}${libdir}/$$i && ${LN_S} $$i.${LIB_MAJOR}.${LIB_MINOR} ${DESTDIR}${libdir}/$$i'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}'
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
CLEAN_LIB=''
;;
*-*-android*)
AC_MSG_RESULT(Android)
LIB_CFLAGS='-fPIC -DPIC'
LIB_LDFLAGS='-shared -Wl,-soname=$$out.${LIB_MAJOR}'
LIB_LDFLAGS_INSTALL_NAME=''
LIB_PREFIX='lib'
LIB_SUFFIX='.so'
LDFLAGS_RPATH=''
PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-shared'
PLUGIN_SUFFIX='.so'
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
CLEAN_LIB=''
;;
hppa*-*-hpux*)
AC_MSG_RESULT([HP-UX (PA-RISC)])
LIB_CFLAGS='-fPIC -DPIC'
LIB_LDFLAGS='-shared -Wl,+h,$$out'
LIB_LDFLAGS_INSTALL_NAME=''
LIB_PREFIX='lib'
LIB_SUFFIX='.${LIB_MAJOR}'
LINK_LIB='&& rm -f $${out%%.*}.sl && ${LN_S} $$out $${out%%.*}.sl'
AS_IF([test x"$enable_rpath" != x"no"], [
LDFLAGS_RPATH='-Wl,+b,${libdir}'
])
PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-shared'
PLUGIN_SUFFIX='.sl'
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i && ${LN_S} -f $$i ${DESTDIR}${libdir}/$${i%%.*}.sl'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%%.*}.sl'
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
CLEAN_LIB=''
;;
ia64*-*-hpux*)
AC_MSG_RESULT([HP-UX (Itanium)])
LIB_CFLAGS='-fPIC -DPIC'
LIB_LDFLAGS='-shared -Wl,+h,$$out'
LIB_LDFLAGS_INSTALL_NAME=''
LIB_PREFIX='lib'
LIB_SUFFIX='.${LIB_MAJOR}'
LINK_LIB='&& rm -f $${out%%.*}.so && ${LN_S} $$out $${out%%.*}.so'
AS_IF([test x"$enable_rpath" != x"no"], [
LDFLAGS_RPATH='-Wl,+b,${libdir}'
])
PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-shared'
PLUGIN_SUFFIX='.so'
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i && ${LN_S} -f $$i ${DESTDIR}${libdir}/$${i%%.*}.so'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$${i%%.*}.so'
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
UNINSTALL_PLUGIN='&& rm -f ${DESTDIR}${plugindir}/$$i'
CLEAN_LIB=''
;;
*)
AC_MSG_RESULT(ELF)
LIB_CFLAGS='-fPIC -DPIC'
LIB_LDFLAGS='-shared -Wl,-soname=$$out.${LIB_MAJOR}'
LIB_LDFLAGS_INSTALL_NAME=''
LIB_PREFIX='lib'
LIB_SUFFIX='.so'
AS_IF([test x"$enable_rpath" != x"no"], [
LDFLAGS_RPATH='-Wl,-rpath,${libdir}'
])
PLUGIN_CFLAGS='-fPIC -DPIC'
PLUGIN_LDFLAGS='-shared'
PLUGIN_SUFFIX='.so'
LINK_PLUGIN='${LD} -o $$out ${PLUGIN_OBJS} ${PLUGIN_OBJS_EXTRA} ${PLUGIN_LDFLAGS} ${LDFLAGS} ${LIBS}'
INSTALL_LIB='&& ${INSTALL} -m 755 $$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0 && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} && ${LN_S} -f $$i.${LIB_MAJOR}.${LIB_MINOR}.0 ${DESTDIR}${libdir}/$$i'
UNINSTALL_LIB='&& rm -f ${DESTDIR}${libdir}/$$i ${DESTDIR}${libdir}/$$i.${LIB_MAJOR} ${DESTDIR}${libdir}/$$i.${LIB_MAJOR}.${LIB_MINOR}.0'
INSTALL_PLUGIN='&& ${INSTALL} -m 755 $$i ${DESTDIR}${plugindir}/$$i'
|
︙ | | |
Modified buildsys.mk.in
from [b068b3ae0b]
to [a085f99653].
︙ | | |
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
-
+
|
${MAKE} -s copy-headers-into-framework || exit $$?; \
cd .. || exit 1; \
done
if test x"${includesubdir}" = x"${COPY_HEADERS_IF_SUBDIR}"; then \
for i in "" ${INCLUDES}; do \
test x"$$i" = x"" && continue; \
${MKDIR_P} ${COPY_HEADERS_DESTINATION} || exit $$?; \
${MKDIR_P} $$(dirname ${COPY_HEADERS_DESTINATION}/$$i) || exit $$?; \
${INSTALL} -m 644 $$i ${COPY_HEADERS_DESTINATION}/$$i || exit $$?; \
done \
fi
${AMIGA_LIB} ${AMIGA_LIB_NOINST}: ${EXT_DEPS} ${AMIGA_LIB_OBJS_START} ${AMIGA_LIB_OBJS} ${AMIGA_LIB_OBJS_EXTRA}
${LINK_STATUS}
if ${LD} -o $@ ${AMIGA_LIB_OBJS_START} ${AMIGA_LIB_OBJS} ${AMIGA_LIB_OBJS_EXTRA} ${AMIGA_LIB_LDFLAGS} ${AMIGA_LIB_LIBS}; then \
|
︙ | | |
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
|
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
|
-
+
|
fi \
done
if test x"${INSTALL_INCLUDES}" = x"yes"; then \
for i in "" ${INCLUDES}; do \
test x"$$i" = x"" && continue; \
${INSTALL_STATUS}; \
if ${MKDIR_P} ${DESTDIR}${includedir}/${includesubdir} && ${INSTALL} -m 644 $$i ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
if ${MKDIR_P} $$(dirname ${DESTDIR}${includedir}/${includesubdir}/$$i) && ${INSTALL} -m 644 $$i ${DESTDIR}${includedir}/${includesubdir}/$$i; then \
${INSTALL_OK}; \
else \
${INSTALL_FAILED}; \
fi \
done \
fi
|
︙ | | |
Modified configure.ac
from [ba1c6c3513]
to [75effab5fc].
1
2
3
4
5
6
7
8
|
1
2
3
4
5
6
7
8
|
-
+
|
AC_INIT(ObjFW, 1.1-dev, js@nil.im)
AC_INIT(ObjFW, 1.1dev, js@nil.im)
AC_CONFIG_SRCDIR(src)
AC_CONFIG_AUX_DIR(build-aux)
AC_CONFIG_MACRO_DIR(build-aux/m4)
AC_DEFINE(OBJFW_VERSION_MAJOR, 1, [The major version of ObjFW])
AC_DEFINE(OBJFW_VERSION_MINOR, 1, [The minor version of ObjFW])
dnl This may only be set to 1.1 once 1.1 is released
|
︙ | | |
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
-
+
+
|
LIBS="$LIBS -ldebug"
enable_files="yes" # Required for reading ENV:
enable_shared="no"
supports_amiga_lib="yes"
AS_IF([test x"$enable_amiga_lib" != x"no"], [
AC_SUBST(OBJFWRT_AMIGA_LIB, objfwrt68k.library)
AC_SUBST(OBJFWRT_AMIGA_LIB,
['objfwrt${OBJFWRT_LIB_MAJOR}.library'])
dnl For 68000, GCC emits calls to helper functions that
dnl do not work properly in a library.
t="-mcpu=68020 -fbaserel -noixemul -ffreestanding"
AC_SUBST(AMIGA_LIB_CFLAGS, $t)
t="$t -resident -nostartfiles -nodefaultlibs -ldebug -lc"
AC_SUBST(AMIGA_LIB_LDFLAGS, $t)
])
|
︙ | | |
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
-
+
+
|
LIBS="$LIBS -ldebug"
enable_files="yes" # Required for reading ENV:
enable_shared="no"
supports_amiga_lib="yes"
AS_IF([test x"$enable_amiga_lib" != x"no"], [
AC_SUBST(OBJFWRT_AMIGA_LIB, objfwrt.library)
AC_SUBST(OBJFWRT_AMIGA_LIB,
['objfwrt${OBJFW_LIB_MAJOR}ppc.library'])
t="-mresident32 -ffreestanding -noixemul"
AC_SUBST(AMIGA_LIB_CFLAGS, $t)
t="-mresident32 -nostartfiles -nodefaultlibs -noixemul -ldebug"
AC_SUBST(AMIGA_LIB_LDFLAGS, "$t -lc")
])
AC_SUBST(LIBBASES_M, libbases.m)
|
︙ | | |
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
|
258
259
260
261
262
263
264
265
266
267
268
269
270
271
|
-
-
-
-
-
-
-
-
-
|
OBJCFLAGS="$OBJCFLAGS -integrated-as"
OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS -integrated-as"
;;
i?86-*-darwin* | x86_64-*-darwin*)
dnl Don't use -no-integrated-as on Darwin. It breaks building
dnl for the iOS simulator.
;;
i?86-*-* | x86_64-*-*)
dnl Many older Clang versions don't support jmp short.
ASFLAGS="$ASFLAGS -no-integrated-as"
;;
*-*-mingw*)
dnl Clang's assembler on Windows is not complete yet and cannot
dnl compile all .S files.
ASFLAGS="$ASFLAGS -no-integrated-as"
;;
sparc64-*-*openbsd*)
dnl Clang generates assembly output on SPARC64 that OpenBSD's
dnl assembler does not accept.
flag="-integrated-as"
OBJCFLAGS="$OBJCFLAGS $flag"
OBJFW_OBJCFLAGS="$OBJFW_OBJCFLAGS $flag"
;;
|
︙ | | |
975
976
977
978
979
980
981
982
983
984
985
986
987
988
|
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
|
+
|
AC_CHECK_HEADERS(pthread_np.h, [], [], [#include <pthread.h>])
AC_CHECK_FUNCS(pthread_set_name_np pthread_setname_np, break)
;;
esac
AC_DEFINE(OF_HAVE_THREADS, 1, [Whether we have threads])
AC_SUBST(USE_SRCS_THREADS, '${SRCS_THREADS}')
AC_SUBST(OBJC_SYNC, objc_sync)
AC_ARG_ENABLE(compiler-tls,
AS_HELP_STRING([--disable-compiler-tls],
[disable compiler thread local storage]))
case "$host" in
aarch64*-*-android*)
|
︙ | | |
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
|
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
|
+
+
+
|
#ifdef AF_INET6
egrep_cpp_yes
#endif
], [
AC_DEFINE(OF_HAVE_IPV6, 1, [Whether we have IPv6])
])
], [
dnl Work around a bug in autoconf 2.61 that creates a broken
dnl configure if this branch is empty.
:
], [
#ifdef _WIN32
typedef int BOOL;
#endif
#ifdef OF_HAVE_NETINET_IN_H
# include <netinet/in.h>
|
︙ | | |
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
|
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
|
+
+
+
+
+
|
#ifdef __has_attribute
# if __has_attribute(objc_root_class)
__attribute__((__objc_root_class__))
# endif
#endif
@interface Test
@end
/**
* @struct Foo conftest.m conftest.m
*/
typedef struct {} Foo;
])
], [
AC_MSG_RESULT(yes)
], [
AC_MSG_RESULT(no)
OBJCFLAGS="$old_OBJCFLAGS"
])
|
︙ | | |
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
|
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
|
-
-
-
|
;;
x86_64-*-mingw*)
AC_CHECK_PROG(WINE, wine64, wine64)
;;
esac
AS_IF([test x"$WINE" != x""], [
AC_SUBST(RUN_TESTS, "run")
AC_SUBST(WRAPPER, "$WINE")
])
AS_IF([test x"$with_wii" = x"yes"], [
dnl Keep this lowercase, as WIILOAD is a variable used by
dnl wiiload and thus likely already set by the user to something
dnl that is not the path of the wiiload binary.
AC_CHECK_PROG(wiiload, wiiload, wiiload)
AS_IF([test x"$wiiload" != x""], [
AC_SUBST(WRAPPER, "$wiiload")
])
])
], [
AC_SUBST(RUN_TESTS, "run")
])
AC_ARG_WITH(fish_completions,
AS_HELP_STRING([--with-fish-completions],
[install completions for the fish shell]))
AS_IF([test x"$with_fish_completions" = x""], [
AC_CHECK_PROG(FISH, fish, fish)
|
︙ | | |
Modified extra.mk.in
from [70070944b6]
to [40ab3148ac].
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
-
-
+
+
-
+
|
OBJFW_SHARED_LIB = @OBJFW_SHARED_LIB@
OBJFW_STATIC_LIB = @OBJFW_STATIC_LIB@
OBJFW_FRAMEWORK = @OBJFW_FRAMEWORK@
OBJFW_LIB_MAJOR = 9
OBJFW_LIB_MINOR = 1
OBJFW_LIB_MAJOR = 0
OBJFW_LIB_MINOR = 0
OBJFW_LIB_MAJOR_MINOR = ${OBJFW_LIB_MAJOR}.${OBJFW_LIB_MINOR}
OBJFWRT_SHARED_LIB = @OBJFWRT_SHARED_LIB@
OBJFWRT_STATIC_LIB = @OBJFWRT_STATIC_LIB@
OBJFWRT_FRAMEWORK = @OBJFWRT_FRAMEWORK@
OBJFWRT_AMIGA_LIB = @OBJFWRT_AMIGA_LIB@
OBJFWRT_LIB_MAJOR = 1
OBJFWRT_LIB_MAJOR = 0
OBJFWRT_LIB_MINOR = 0
OBJFWRT_LIB_MAJOR_MINOR = ${OBJFWRT_LIB_MAJOR}.${OBJFWRT_LIB_MINOR}
OBJFWBRIDGE_SHARED_LIB = @OBJFWBRIDGE_SHARED_LIB@
OBJFWBRIDGE_STATIC_LIB = @OBJFWBRIDGE_STATIC_LIB@
OBJFWBRIDGE_FRAMEWORK = @OBJFWBRIDGE_FRAMEWORK@
|
︙ | | |
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
|
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
|
+
-
|
LIBOBJFW_DEP = @LIBOBJFW_DEP@
LIBOBJFW_DEP_LVL2 = @LIBOBJFW_DEP_LVL2@
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@
OFARC = @OFARC@
OFDNS = @OFDNS@
OFHASH = @OFHASH@
OFHTTP = @OFHTTP@
OF_BLOCK_TESTS_M = @OF_BLOCK_TESTS_M@
OF_EPOLL_KERNEL_EVENT_OBSERVER_M = @OF_EPOLL_KERNEL_EVENT_OBSERVER_M@
OF_HTTP_CLIENT_TESTS_M = @OF_HTTP_CLIENT_TESTS_M@
OF_KQUEUE_KERNEL_EVENT_OBSERVER_M = @OF_KQUEUE_KERNEL_EVENT_OBSERVER_M@
OF_POLL_KERNEL_EVENT_OBSERVER_M = @OF_POLL_KERNEL_EVENT_OBSERVER_M@
OF_SELECT_KERNEL_EVENT_OBSERVER_M = @OF_SELECT_KERNEL_EVENT_OBSERVER_M@
OF_SUBPROCESS_M = @OF_SUBPROCESS_M@
REEXPORT_RUNTIME = @REEXPORT_RUNTIME@
REEXPORT_RUNTIME_FRAMEWORK = @REEXPORT_RUNTIME_FRAMEWORK@
RUNTIME = @RUNTIME@
RUNTIME_ARC_TESTS_M = @RUNTIME_ARC_TESTS_M@
RUNTIME_AUTORELEASE_M = @RUNTIME_AUTORELEASE_M@
RUNTIME_FRAMEWORK_LIBS = @RUNTIME_FRAMEWORK_LIBS@
RUNTIME_INSTANCE_M = @RUNTIME_INSTANCE_M@
RUNTIME_LIBS = @RUNTIME_LIBS@
RUN_TESTS = @RUN_TESTS@
SFDC_INLINE_H = @SFDC_INLINE_H@
SFDC_TARGET = @SFDC_TARGET@
SFD_FILE = @SFD_FILE@
TESTPLUGIN = @TESTPLUGIN@
TESTPLUGIN_LIBS = @TESTPLUGIN_LIBS@
TESTS_LIBS = @TESTS_LIBS@
TESTS_STATIC_LIB = @TESTS_STATIC_LIB@
|
︙ | | |
Modified generators/library/FuncArrayGenerator.m
from [51e8f1d0df]
to [f08469b1f3].
︙ | | |
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
-
-
+
+
|
[super dealloc];
}
- (void)generate
{
[_include writeString: COPYRIGHT];
[_include writeString:
@"/* This file is automatically generated from library.xml */\n"
@"\n"];
@"/* This file is automatically generated from amiga-library.xml */"
@"\n\n"];
for (OFXMLElement *function in [_library elementsForName: @"function"])
[_include writeFormat:
@"(CONST_APTR)glue_%@,\n",
[function attributeForName: @"name"].stringValue];
}
@end
|
Modified generators/library/GlueGenerator.m
from [31aa00cfbb]
to [bedf754a5e].
︙ | | |
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
|
-
-
+
+
-
-
+
+
|
- (void)generate
{
[_header writeString: COPYRIGHT];
[_impl writeString: COPYRIGHT];
[_header writeString:
@"/* This file is automatically generated from library.xml */\n"
@"\n"];
@"/* This file is automatically generated from amiga-library.xml */"
@"\n\n"];
[_impl writeString:
@"/* This file is automatically generated from library.xml */\n"
@"\n"
@"/* This file is automatically generated from amiga-library.xml */"
@"\n\n"
@"#include \"config.h\"\n"
@"\n"
@"#import \"amiga-glue.h\"\n"
@"\n"];
for (OFXMLElement *include in [_library elementsForName: @"include"])
[_header writeFormat: @"#import \"%@\"\n", include.stringValue];
|
︙ | | |
Modified generators/library/LibraryGenerator.m
from [5e005ae799]
to [9ff3856624].
︙ | | |
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
-
+
|
@implementation LibraryGenerator
- (void)applicationDidFinishLaunching
{
OFURL *sourcesURL = [[OFFileManager defaultManager].currentDirectoryURL
URLByAppendingPathComponent: @"../../src"];
OFURL *runtimeLibraryURL = [sourcesURL
URLByAppendingPathComponent: @"runtime/library.xml"];
URLByAppendingPathComponent: @"runtime/amiga-library.xml"];
OFURL *runtimeLinkLibURL = [sourcesURL
URLByAppendingPathComponent: @"runtime/linklib/linklib.m"];
OFURL *runtimeGlueHeaderURL = [sourcesURL
URLByAppendingPathComponent: @"runtime/amiga-glue.h"];
OFURL *runtimeGlueURL = [sourcesURL
URLByAppendingPathComponent: @"runtime/amiga-glue.m"];
OFURL *runtimeFuncArrayURL = [sourcesURL
|
︙ | | |
Modified generators/library/LinkLibGenerator.m
from [39332583d0]
to [eb1406f394].
︙ | | |
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
-
-
+
+
|
{
OFString *libBase = [_library attributeForName: @"base"].stringValue;
OFArray OF_GENERIC(OFXMLElement *) *functions;
size_t funcIndex = 0;
[_impl writeString: COPYRIGHT];
[_impl writeString:
@"/* This file is automatically generated from library.xml */\n"
@"\n"
@"/* This file is automatically generated from amiga-library.xml */"
@"\n\n"
@"#include \"config.h\"\n"
@"\n"];
for (OFXMLElement *include in [_library elementsForName: @"include"])
[_impl writeFormat: @"#import \"%@\"\n",
include.stringValue];
|
︙ | | |
Modified generators/library/Makefile
from [7064d263a2]
to [b62d874949].
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
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
68
69
70
|
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
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
68
69
70
71
72
73
74
75
|
+
+
-
+
+
-
+
-
-
+
+
+
-
-
+
+
+
-
+
+
-
+
+
-
-
|
include ../../extra.mk
PROG_NOINST = gen_libraries${PROG_SUFFIX}
SRCS = FuncArrayGenerator.m \
GlueGenerator.m \
LibraryGenerator.m \
LinkLibGenerator.m
include ../../buildsys.mk
.PHONY: run
run: all
rm -f libobjfw.so.${OBJFW_LIB_MAJOR}
rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}
rm -f objfw.dll libobjfw.${OBJFW_LIB_MAJOR}.dylib
rm -f objfw${OBJFW_LIB_MAJOR}.dll libobjfw.${OBJFW_LIB_MAJOR}.dylib
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}
rm -f objfwrt${OBJFWRT_LIB_MAJOR}.dll
rm -f objfwrt.dll libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib
rm -f libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib
rm -f ${OBJFWRT_AMIGA_LIB}
if test -f ../../src/libobjfw.so; then \
${LN_S} ../../src/libobjfw.so libobjfw.so.${OBJFW_LIB_MAJOR}; \
${LN_S} ../../src/libobjfw.so \
libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \
elif test -f ../../src/libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; then \
${LN_S} ../../src/libobjfw.so.${OBJFW_LIB_MAJOR_MINOR} \
libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \
fi
if test -f ../../src/objfw.dll; then \
${LN_S} ../../src/objfw.dll objfw.dll; \
if test -f ../../src/objfw${OBJFW_LIB_MAJOR}.dll; then \
${LN_S} ../../src/objfw${OBJFW_LIB_MAJOR}.dll \
objfw${OBJFW_LIB_MAJOR}.dll; \
fi
if test -f ../../src/libobjfw.dylib; then \
${LN_S} ../../src/libobjfw.dylib \
libobjfw.${OBJFW_LIB_MAJOR}.dylib; \
fi
if test -f ../../src/runtime/libobjfwrt.so; then \
${LN_S} ../../src/runtime/libobjfwrt.so \
libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \
${LN_S} ../../src/runtime/libobjfwrt.so \
libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \
elif test -f ../../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; then \
${LN_S} ../../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \
fi
if test -f ../../src/runtime/objfwrt.dll; then \
${LN_S} ../../src/runtime/objfwrt.dll objfwrt.dll; \
if test -f ../../src/runtime/objfwrt${OBJFWRT_LIB_MAJOR}.dll; then \
${LN_S} ../../src/runtime/objfwrt${OBJFWRT_LIB_MAJOR}.dll \
objfwrt${OBJFWRT_LIB_MAJOR}.dll; \
fi
if test -f ../../src/runtime/libobjfwrt.dylib; then \
${LN_S} ../../src/runtime/libobjfwrt.dylib \
libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \
fi
if test -f ../../src/runtime/${OBJFWRT_AMIGA_LIB}; then \
${LN_S} ../../src/runtime/${OBJFWRT_AMIGA_LIB} \
${OBJFWRT_AMIGA_LIB}; \
fi
LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \
DYLD_FRAMEWORK_PATH=../../src:../../src/runtime$${DYLD_FRAMEWORK_PATH+:}$$DYLD_FRAMEWORK_PATH \
DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \
LIBRARY_PATH=.$${LIBRARY_PATH+:}$$LIBRARY_PATH \
ASAN_OPTIONS=allocator_may_return_null=1 \
${WRAPPER} ./${PROG_NOINST}; EXIT=$$?; \
rm -f libobjfw.so.${OBJFW_LIB_MAJOR}; \
rm -f objfw.so.${OBJFW_LIB_MAJOR_MINOR} objfw.dll; \
rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \
rm -f objfw${OBJFW_LIB_MAJOR}.dll; \
rm -f libobjfw.${OBJFW_LIB_MAJOR}.dylib; \
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \
rm -f objfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} objfwrt.dll; \
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \
rm -f objfwrt${OBJFWRT_LIB_MAJOR}.dll; \
rm -f libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \
exit $$EXIT
include ../../buildsys.mk
CPPFLAGS += -I../../src -I../../src/exceptions -I../../src/runtime -I../..
LIBS := -L../../src -lobjfw -L../../src/runtime ${RUNTIME_LIBS} ${LIBS}
LD = ${OBJC}
|
Modified generators/unicode/Makefile
from [c6ebd60fbb]
to [9009fb89e7].
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
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
|
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
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
68
69
70
71
72
|
+
+
-
+
+
-
+
-
-
+
+
+
-
-
+
+
+
-
+
+
-
+
+
-
-
|
include ../../extra.mk
PROG_NOINST = gen_tables${PROG_SUFFIX}
SRCS = TableGenerator.m
include ../../buildsys.mk
.PHONY: run
run: all
rm -f libobjfw.so.${OBJFW_LIB_MAJOR}
rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}
rm -f objfw.dll libobjfw.${OBJFW_LIB_MAJOR}.dylib
rm -f objfw${OBJFW_LIB_MAJOR}.dll libobjfw.${OBJFW_LIB_MAJOR}.dylib
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}
rm -f objfwrt${OBJFWRT_LIB_MAJOR}.dll
rm -f objfwrt.dll libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib
rm -f libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib
rm -f ${OBJFWRT_AMIGA_LIB}
if test -f ../../src/libobjfw.so; then \
${LN_S} ../../src/libobjfw.so libobjfw.so.${OBJFW_LIB_MAJOR}; \
${LN_S} ../../src/libobjfw.so \
libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \
elif test -f ../../src/libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; then \
${LN_S} ../../src/libobjfw.so.${OBJFW_LIB_MAJOR_MINOR} \
libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \
fi
if test -f ../../src/objfw.dll; then \
${LN_S} ../../src/objfw.dll objfw.dll; \
if test -f ../../src/objfw${OBJFW_LIB_MAJOR}.dll; then \
${LN_S} ../../src/objfw${OBJFW_LIB_MAJOR}.dll \
objfw${OBJFW_LIB_MAJOR}.dll; \
fi
if test -f ../../src/libobjfw.dylib; then \
${LN_S} ../../src/libobjfw.dylib \
libobjfw.${OBJFW_LIB_MAJOR}.dylib; \
fi
if test -f ../../src/runtime/libobjfwrt.so; then \
${LN_S} ../../src/runtime/libobjfwrt.so \
libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \
${LN_S} ../../src/runtime/libobjfwrt.so \
libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \
elif test -f ../../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; then \
${LN_S} ../../src/runtime/libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \
fi
if test -f ../../src/runtime/objfwrt.dll; then \
${LN_S} ../../src/runtime/objfwrt.dll objfwrt.dll; \
if test -f ../../src/runtime/objfwrt${OBJFWRT_LIB_MAJOR}.dll; then \
${LN_S} ../../src/runtime/objfwrt${OBJFWRT_LIB_MAJOR}.dll \
objfwrt${OBJFWRT_LIB_MAJOR}.dll; \
fi
if test -f ../../src/runtime/libobjfwrt.dylib; then \
${LN_S} ../../src/runtime/libobjfwrt.dylib \
libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \
fi
if test -f ../../src/runtime/${OBJFWRT_AMIGA_LIB}; then \
${LN_S} ../../src/runtime/${OBJFWRT_AMIGA_LIB} \
${OBJFWRT_AMIGA_LIB}; \
fi
LD_LIBRARY_PATH=.$${LD_LIBRARY_PATH+:}$$LD_LIBRARY_PATH \
DYLD_FRAMEWORK_PATH=../../src:../../src/runtime$${DYLD_FRAMEWORK_PATH+:}$$DYLD_FRAMEWORK_PATH \
DYLD_LIBRARY_PATH=.$${DYLD_LIBRARY_PATH+:}$$DYLD_LIBRARY_PATH \
LIBRARY_PATH=.$${LIBRARY_PATH+:}$$LIBRARY_PATH \
ASAN_OPTIONS=allocator_may_return_null=1 \
${WRAPPER} ./${PROG_NOINST}; EXIT=$$?; \
rm -f libobjfw.so.${OBJFW_LIB_MAJOR}; \
rm -f objfw.so.${OBJFW_LIB_MAJOR_MINOR} objfw.dll; \
rm -f libobjfw.so.${OBJFW_LIB_MAJOR_MINOR}; \
rm -f objfw${OBJFW_LIB_MAJOR}.dll; \
rm -f libobjfw.${OBJFW_LIB_MAJOR}.dylib; \
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR}; \
rm -f objfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR} objfwrt.dll; \
rm -f libobjfwrt.so.${OBJFWRT_LIB_MAJOR_MINOR}; \
rm -f objfwrt${OBJFWRT_LIB_MAJOR}.dll; \
rm -f libobjfwrt.${OBJFWRT_LIB_MAJOR}.dylib; \
exit $$EXIT
include ../../buildsys.mk
CPPFLAGS += -I../../src -I../../src/exceptions -I../../src/runtime -I../..
LIBS := -L../../src -lobjfw -L../../src/runtime ${RUNTIME_LIBS} ${LIBS}
LD = ${OBJC}
|
Added objfw.spec version [c6704c25c0].