Skip to content

Commit 961a33f

Browse files
merge branch 'devel' into 'master'
2 parents 285931e + 04b5b56 commit 961a33f

File tree

809 files changed

+23278
-30100
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

809 files changed

+23278
-30100
lines changed

.deploy.sh

Lines changed: 0 additions & 42 deletions
This file was deleted.

.github/workflows/docs.yml

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
name: Docs
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- devel
8+
9+
jobs:
10+
build-and-deploy:
11+
runs-on: ubuntu-latest
12+
steps:
13+
14+
- name: Install Build Dependencies
15+
run: |
16+
cmake -E echo >> $${{env.ENV}}GITHUB_PATH $HOME/.local/bin
17+
sudo apt-get install -y doxygen
18+
pip install sphinx==3.2.1 sphinx_rtd_theme breathe
19+
20+
- name: Checkout Toolchain
21+
uses: actions/checkout@v2.3.1
22+
with:
23+
persist-credentials: false
24+
25+
- name: Build Website Documentation
26+
run: |
27+
cd docs
28+
make html
29+
cd build/html
30+
touch .nojekyll
31+
32+
- name: Upload Website Documentation
33+
uses: JamesIves/github-pages-deploy-action@3.7.1
34+
with:
35+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
36+
BRANCH: gh-pages
37+
FOLDER: docs/build/html
38+
CLEAN: true

.github/workflows/make.yml

Lines changed: 167 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,167 @@
1+
name: Win/Mac/Linux
2+
3+
on:
4+
push:
5+
branches:
6+
- master
7+
- devel
8+
pull_request:
9+
branches:
10+
- devel
11+
12+
jobs:
13+
build:
14+
strategy:
15+
fail-fast: false
16+
matrix:
17+
runs-on: [ubuntu-latest, macos-latest, windows-latest]
18+
runs-on: ${{matrix.runs-on}}
19+
steps:
20+
- name: Bootstrap Build Environment
21+
if: runner.os == 'Windows'
22+
run: "cmake -E echo >> $env:GITHUB_ENV ENV=env:"
23+
- name: Prepare Build Environment
24+
run: |
25+
cmake -E echo >> $${{env.ENV}}GITHUB_ENV ROM=84pce_515_53.rom
26+
cmake -E echo >> $${{env.ENV}}GITHUB_ENV CEDEV=${{github.workspace}}/CEdev
27+
cmake -E echo >> $${{env.ENV}}GITHUB_PATH ${{github.workspace}}/CEdev/bin
28+
cmake -E echo >> $${{env.ENV}}GITHUB_PATH ${{github.workspace}}/CEmu/tests/autotester
29+
- name: Prepare Build Environment
30+
if: runner.os == 'Windows'
31+
run: |
32+
cmake -E echo >> $${{env.ENV}}GITHUB_ENV EXE=.exe
33+
34+
- name: Install Build Dependencies
35+
if: runner.os == 'Linux'
36+
run: sudo apt-get install -y doxygen
37+
- name: Install Build Dependencies
38+
if: runner.os == 'macOS'
39+
run: brew install doxygen
40+
41+
- name: Download ez80-clang
42+
id: ez80-clang
43+
uses: carlosperate/download-file-action@v1.0.3
44+
with:
45+
file-url: https://jacobly.com/a/llvm/ez80-clang${{env.EXE}}-${{runner.os}}Release.zip
46+
- name: Extract ez80-clang
47+
uses: DuckSoft/extract-7z-action@v1.0
48+
with:
49+
pathSource: ${{steps.ez80-clang.outputs.file-path}}
50+
pathTarget: CEdev/bin
51+
- name: Make ez80-clang Executable
52+
if: runner.os != 'Windows'
53+
run: chmod +x CEdev/bin/ez80-clang${{env.EXE}}
54+
- name: Test ez80-clang
55+
run: ez80-clang --version
56+
57+
- name: Checkout Toolchain
58+
uses: actions/checkout@v2
59+
with:
60+
path: toolchain
61+
submodules: recursive
62+
63+
- name: Setup Fasmg
64+
if: runner.os == 'Windows'
65+
run: cmake -E copy toolchain/tools/fasmg/windows/fasmg.exe CEdev/bin
66+
- name: Setup Fasmg
67+
if: runner.os == 'Linux'
68+
run: |
69+
cp toolchain/tools/fasmg/linux/fasmg CEdev/bin
70+
chmod +x CEdev/bin/fasmg
71+
- name: Setup Fasmg
72+
if: runner.os == 'macOS'
73+
run: |
74+
cp toolchain/tools/fasmg/macos/fasmg CEdev/bin
75+
chmod +x CEdev/bin/fasmg
76+
77+
- name: Build Toolchain
78+
run: make -j4 -C toolchain V=1
79+
- name: Install Toolchain
80+
env:
81+
PREFIX: ${{github.workspace}}
82+
run: make -j4 -C toolchain install release release-libs V=1
83+
84+
- name: Upload CEdev
85+
uses: actions/upload-artifact@v2
86+
with:
87+
name: CEdev-${{runner.os}}
88+
path: CEdev
89+
- name: Upload Libraries
90+
uses: actions/upload-artifact@v2
91+
with:
92+
name: clibs
93+
path: toolchain/clibs.8xg
94+
- name: Upload Windows Installer
95+
if: runner.os == 'Windows'
96+
uses: actions/upload-artifact@v2
97+
with:
98+
name: installer-${{runner.os}}
99+
path: toolchain\release\CEdev${{env.EXE}}
100+
101+
- name: Build Examples
102+
run: make -j4 -C ${{env.CEDEV}}/examples V=1
103+
104+
- name: Checkout CEmu
105+
if: github.event_name == 'push'
106+
uses: actions/checkout@v2
107+
with:
108+
repository: CE-Programming/CEmu
109+
ref: latest-stable
110+
path: CEmu
111+
112+
- name: Build CEmu
113+
if: github.event_name == 'push'
114+
run: make -j4 -C CEmu/core
115+
- name: Build Autotester CLI
116+
if: github.event_name == 'push'
117+
run: make -j4 -C CEmu/tests/autotester
118+
119+
- name: Download Secrets
120+
if: github.event_name == 'push'
121+
id: download-secrets
122+
uses: carlosperate/download-file-action@v1.0.3
123+
with:
124+
file-url: https://jacobly.com/CE-Programming/secrets
125+
location: secrets
126+
- name: Decrypt Secrets
127+
if: github.event_name == 'push'
128+
env:
129+
KEY: ${{secrets.SYMMETRIC_KEY_256}}
130+
run: openssl enc -d -aes-256-cbc -iv d0583d991fcb6c3b05fb8eabc7421fb8 -K "$${{env.ENV}}KEY" -in ${{steps.download-secrets.outputs.file-path}} -out secrets/secrets.7z
131+
- name: Extract Secrets
132+
if: github.event_name == 'push'
133+
uses: DuckSoft/extract-7z-action@v1.0
134+
with:
135+
pathSource: secrets/secrets.7z
136+
pathTarget: secrets
137+
138+
- name: Test examples
139+
if: github.event_name == 'push' && runner.os != 'Windows'
140+
env:
141+
AUTOTESTER_LIBS_GROUP: ${{github.workspace}}/toolchain/clibs.8xg
142+
AUTOTESTER_ROM: ${{github.workspace}}/secrets/${{env.ROM}}
143+
run: |
144+
failed=0
145+
find ${{env.CEDEV}}/examples -name autotest.json -print0 | while read -d '' test; do
146+
cmake -E echo "Launching autotester on $test"
147+
autotester "$test"
148+
cmake -E true $((failed += $?))
149+
done
150+
exit $failed
151+
- name: Test examples
152+
if: github.event_name == 'push' && runner.os == 'Windows'
153+
env:
154+
AUTOTESTER_LIBS_GROUP: ${{github.workspace}}\toolchain\clibs.8xg
155+
AUTOTESTER_ROM: ${{github.workspace}}\secrets\${{env.ROM}}
156+
run: |
157+
$failed = 0
158+
foreach ($test in get-childitem "${{env.CEDEV}}\examples" -recurse -include autotest.json) {
159+
cmake -E echo "Launching autotester on $test"
160+
autotester "$test"
161+
$failed += $lastexitcode
162+
}
163+
Exit $failed
164+
165+
- name: Remove Secrets
166+
if: always()
167+
run: cmake -E rm -rf secrets

.gitignore

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ doxygen/
1212
*.obj
1313
*.elf
1414
*.bin
15+
*.inc
1516
obj/
1617
release/
1718
build/
@@ -23,9 +24,6 @@ linker_script
2324
# precompiled headers
2425
*.gch
2526
*.pch
26-
relocation_table
27-
*_header.asm
28-
*_equates.asm
2927

3028
# libraries
3129
*.lib
@@ -56,7 +54,7 @@ relocation_table
5654
*.log
5755

5856
# fasmg files
57+
src/include/*.alm
5958
src/include/ez80.inc
60-
src/include/ld.fasmg
6159
src/include/ti84pceg.inc
6260
src/include/tiformat.inc

.gitmodules

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,3 +10,4 @@
1010
[submodule "tools/convimg"]
1111
path = tools/convimg
1212
url = https://github.com/mateoconlechuga/convimg.git
13+
ignore = dirty

.travis.yml

Lines changed: 0 additions & 48 deletions
This file was deleted.

CMakeLists.txt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,23 @@
33

44
cmake_minimum_required(VERSION 3.2)
55

6-
project(toolchain)
6+
project(toolchain C CXX)
77

8-
list(APPEND CMAKE_C_FLAGS "-std=c99 -W -Wall -Wno-incompatible-library-redeclaration -Wno-parentheses -Wno-pointer-sign -Wno-incompatible-pointer-types")
8+
set(COMMON_FLAGS "-W -Wall -Wextra -Wno-incompatible-library-redeclaration -Wno-parentheses -Wno-pointer-sign -Wno-incompatible-pointer-types")
9+
list(APPEND CMAKE_C_FLAGS "-std=c99 ${COMMON_FLAGS}")
10+
list(APPEND CMAKE_CXX_FLAGS "-std=c++14 ${COMMON_FLAGS}")
911

12+
set(INCLUDE_DIRECTORIES "")
1013
include_directories(${CMAKE_SOURCE_DIR}/src/ce
1114
${CMAKE_SOURCE_DIR}/src/fatdrvce
1215
${CMAKE_SOURCE_DIR}/src/fileioc
1316
${CMAKE_SOURCE_DIR}/src/fontlibc
1417
${CMAKE_SOURCE_DIR}/src/graphx
1518
${CMAKE_SOURCE_DIR}/src/keypadc
1619
${CMAKE_SOURCE_DIR}/src/usbdrvce
17-
${CMAKE_SOURCE_DIR}/src/std
18-
${CMAKE_SOURCE_DIR}/src/compatibility)
20+
${CMAKE_SOURCE_DIR}/src/std)
1921

20-
file(GLOB_RECURSE SOURCE_FILES src false *.h *.c)
21-
file(GLOB_RECURSE EXAMPLES_FILES examples false *.h *.c)
22+
file(GLOB_RECURSE SOURCE_FILES src true *.h *.hpp *.c *.cpp)
23+
file(GLOB_RECURSE EXAMPLES_FILES examples true *.h *.hpp *.c *.cpp)
2224

2325
add_executable(toolchain ${SOURCE_FILES} ${EXAMPLES_FILES})

0 commit comments

Comments
 (0)