Switch to importation tool, regression.
Regresses proper depedencies temporarily.
This commit is contained in:
85
Makefile
85
Makefile
@ -261,57 +261,48 @@ COMMON_FILETOOLS = common/tasks.fs common/streams.fs \
|
|||||||
COMMON_DESKTOP = common/desktop.fs \
|
COMMON_DESKTOP = common/desktop.fs \
|
||||||
common/graphics.fs common/graphics_utils.fs common/heart.fs
|
common/graphics.fs common/graphics_utils.fs common/heart.fs
|
||||||
|
|
||||||
POSIX_BOOT = $(COMMON_PHASE1) \
|
$(GEN)/posix_boot_merged.fs: tools/importation.py posix/posix_boot.fs | $(GEN)
|
||||||
posix/posix.fs posix/allocation.fs posix/termios.fs \
|
$^ -I . -I $(GEN) \
|
||||||
$(COMMON_PHASE2) $(COMMON_FILETOOLS) $(COMMON_DESKTOP) \
|
--set-version $(VERSION) \
|
||||||
posix/x11.fs \
|
--set-revision $(REVISION) >$@
|
||||||
posix/graphics.fs \
|
|
||||||
posix/sockets.fs posix/telnetd.fs posix/httpd.fs posix/web_interface.fs \
|
|
||||||
posix/autoboot.fs \
|
|
||||||
common/fini.fs
|
|
||||||
$(GEN)/posix_boot.h: tools/source_to_string.js $(POSIX_BOOT) | $(GEN)
|
|
||||||
$< boot $(VERSION) $(REVISION) $(POSIX_BOOT) >$@
|
|
||||||
|
|
||||||
WINDOWS_BOOT_EXTRA = windows/windows_user.fs \
|
$(GEN)/posix_boot.h: tools/source_to_string.js $(GEN)/posix_boot_merged.fs | $(GEN)
|
||||||
windows/windows_gdi.fs \
|
$< boot $(VERSION) $(REVISION) $(GEN)/posix_boot_merged.fs >$@
|
||||||
windows/windows_messages.fs \
|
|
||||||
windows/graphics.fs
|
|
||||||
$(GEN)/windows_boot_extra.h: tools/source_to_string.js $(WINDOWS_BOOT_EXTRA) | $(GEN)
|
|
||||||
$< -win boot_extra $(VERSION) $(REVISION) $(WINDOWS_BOOT_EXTRA) >$@
|
|
||||||
|
|
||||||
WINDOWS_BOOT = $(COMMON_PHASE1) \
|
$(GEN)/windows_boot_extra_merged.fs: \
|
||||||
windows/windows_core.fs \
|
tools/importation.py windows/windows_boot_extra.fs | $(GEN)
|
||||||
windows/windows_files.fs \
|
$^ -I . -I $(GEN) \
|
||||||
windows/windows_console.fs \
|
--set-version $(VERSION) \
|
||||||
windows/allocation.fs \
|
--set-revision $(REVISION) >$@
|
||||||
$(COMMON_PHASE2) $(COMMON_FILETOOLS) $(COMMON_DESKTOP) \
|
|
||||||
windows/load_extra.fs \
|
|
||||||
posix/autoboot.fs \
|
|
||||||
common/fini.fs
|
|
||||||
$(GEN)/windows_boot.h: tools/source_to_string.js $(WINDOWS_BOOT) | $(GEN)
|
|
||||||
$< -win boot $(VERSION) $(REVISION) $(WINDOWS_BOOT) >$@
|
|
||||||
|
|
||||||
PICO_ICE_BOOT = $(COMMON_PHASE1) \
|
$(GEN)/windows_boot_extra.h: tools/source_to_string.js $(GEN)/windows_boot_extra_merged.fs | $(GEN)
|
||||||
pico-ice/allocation.fs \
|
$< -win boot_extra $(VERSION) $(REVISION) $(GEN)/windows_boot_extra_merged.fs >$@
|
||||||
$(COMMON_PHASE2) \
|
|
||||||
common/tasks.fs common/streams.fs \
|
|
||||||
pico-ice/platform.fs \
|
|
||||||
pico-ice/autoboot.fs \
|
|
||||||
common/fini.fs
|
|
||||||
$(GEN)/pico_ice_boot.h: tools/source_to_string.js $(PICO_ICE_BOOT) | $(GEN)
|
|
||||||
$< boot $(VERSION) $(REVISION) $(PICO_ICE_BOOT) >$@
|
|
||||||
|
|
||||||
ESP32_BOOT = $(COMMON_PHASE1) \
|
$(GEN)/windows_boot_merged.fs: tools/importation.py windows/windows_boot.fs | $(GEN)
|
||||||
esp32/allocation.fs esp32/bindings.fs \
|
$^ -I . -I $(GEN) \
|
||||||
$(COMMON_PHASE2) $(COMMON_FILETOOLS) \
|
--set-version $(VERSION) \
|
||||||
esp32/platform.fs \
|
--set-revision $(REVISION) >$@
|
||||||
posix/httpd.fs posix/web_interface.fs esp32/web_interface.fs \
|
|
||||||
esp32/registers.fs \
|
$(GEN)/windows_boot.h: tools/source_to_string.js $(GEN)/windows_boot_merged.fs | $(GEN)
|
||||||
posix/telnetd.fs \
|
$< -win boot $(VERSION) $(REVISION) $(GEN)/windows_boot_merged.fs >$@
|
||||||
esp32/optionals.fs \
|
|
||||||
esp32/autoboot.fs common/fini.fs
|
$(GEN)/pico_ice_boot_merged.fs: \
|
||||||
$(GEN)/esp32_boot.h: tools/source_to_string.js $(ESP32_BOOT) | $(GEN)
|
tools/importation.py pico-ice/pico_ice_boot.fs | $(GEN)
|
||||||
$< boot $(VERSION) $(REVISION) $(ESP32_BOOT) >$@
|
$^ -I . -I $(GEN) \
|
||||||
|
--set-version $(VERSION) \
|
||||||
|
--set-revision $(REVISION) >$@
|
||||||
|
|
||||||
|
$(GEN)/pico_ice_boot.h: tools/source_to_string.js $(GEN)/pico_ice_boot_merged.fs | $(GEN)
|
||||||
|
$< boot $(VERSION) $(REVISION) $(GEN)/pico_ice_boot_merged.fs >$@
|
||||||
|
|
||||||
|
$(GEN)/esp32_boot_merged.fs: \
|
||||||
|
tools/importation.py esp32/esp32_boot.fs | $(GEN)
|
||||||
|
$^ -I . -I $(GEN) \
|
||||||
|
--set-version $(VERSION) \
|
||||||
|
--set-revision $(REVISION) >$@
|
||||||
|
|
||||||
|
$(GEN)/esp32_boot.h: tools/source_to_string.js $(GEN)/esp32_boot_merged.fs | $(GEN)
|
||||||
|
$< boot $(VERSION) $(REVISION) $(GEN)/esp32_boot_merged.fs >$@
|
||||||
|
|
||||||
$(GEN)/esp32_assembler.h: \
|
$(GEN)/esp32_assembler.h: \
|
||||||
tools/source_to_string.js \
|
tools/source_to_string.js \
|
||||||
|
|||||||
21
common/phase1.fs
Normal file
21
common/phase1.fs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs comments.fs
|
||||||
|
needs boot.fs
|
||||||
|
needs io.fs
|
||||||
|
needs conditionals.fs
|
||||||
|
needs vocabulary.fs
|
||||||
|
needs floats.fs
|
||||||
|
needs structures.fs
|
||||||
18
common/phase2.fs
Normal file
18
common/phase2.fs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs utils.fs
|
||||||
|
needs code.fs
|
||||||
|
needs locals.fs
|
||||||
|
needs case.fs
|
||||||
18
common/phase_desktop.fs
Normal file
18
common/phase_desktop.fs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs desktop.fs
|
||||||
|
needs graphics.fs
|
||||||
|
needs graphics_utils.fs
|
||||||
|
needs heart.fs
|
||||||
21
common/phase_filetools.fs
Normal file
21
common/phase_filetools.fs
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs tasks.fs
|
||||||
|
needs streams.fs
|
||||||
|
needs filetools.fs
|
||||||
|
needs including.fs
|
||||||
|
needs blocks.fs
|
||||||
|
needs ansi.fs
|
||||||
|
needs visual.fs
|
||||||
28
esp32/esp32_boot.fs
Normal file
28
esp32/esp32_boot.fs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs ../common/phase1.fs
|
||||||
|
needs allocation.fs
|
||||||
|
needs bindings.fs
|
||||||
|
needs ../common/phase2.fs
|
||||||
|
needs ../common/phase_filetools.fs
|
||||||
|
needs platform.fs
|
||||||
|
needs ../posix/httpd.fs
|
||||||
|
needs ../posix/web_interface.fs
|
||||||
|
needs web_interface.fs
|
||||||
|
needs registers.fs
|
||||||
|
needs ../posix/telnetd.fs
|
||||||
|
needs optionals.fs
|
||||||
|
needs autoboot.fs
|
||||||
|
needs ../common/fini.fs
|
||||||
22
pico-ice/pico_ice_boot.fs
Normal file
22
pico-ice/pico_ice_boot.fs
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs ../common/phase1.fs
|
||||||
|
needs allocation.fs
|
||||||
|
needs ../common/phase2.fs
|
||||||
|
needs ../common/tasks.fs
|
||||||
|
needs ../common/streams.fs
|
||||||
|
needs platform.fs
|
||||||
|
needs autoboot.fs
|
||||||
|
needs ../common/fini.fs
|
||||||
29
posix/posix_boot.fs
Normal file
29
posix/posix_boot.fs
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs ../common/phase1.fs
|
||||||
|
needs posix.fs
|
||||||
|
needs allocation.fs
|
||||||
|
needs termios.fs
|
||||||
|
needs ../common/phase2.fs
|
||||||
|
needs ../common/phase_filetools.fs
|
||||||
|
needs ../common/phase_desktop.fs
|
||||||
|
needs x11.fs
|
||||||
|
needs graphics.fs
|
||||||
|
needs sockets.fs
|
||||||
|
needs telnetd.fs
|
||||||
|
needs httpd.fs
|
||||||
|
needs web_interface.fs
|
||||||
|
needs autoboot.fs
|
||||||
|
needs ../common/fini.fs
|
||||||
57
tools/importation.py
Executable file
57
tools/importation.py
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#! /usr/bin/env python3
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
prog='importation',
|
||||||
|
description='Imports header / fs files')
|
||||||
|
parser.add_argument('filename')
|
||||||
|
parser.add_argument('-I', action='append')
|
||||||
|
parser.add_argument('--set-version')
|
||||||
|
parser.add_argument('--set-revision')
|
||||||
|
args = parser.parse_args()
|
||||||
|
bases = args.I or []
|
||||||
|
|
||||||
|
results = []
|
||||||
|
imported = set()
|
||||||
|
|
||||||
|
def Import(filename):
|
||||||
|
filename = os.path.abspath(filename)
|
||||||
|
if filename in imported:
|
||||||
|
return
|
||||||
|
imported.add(filename)
|
||||||
|
with open(filename, 'r') as fh:
|
||||||
|
data = fh.read().splitlines()
|
||||||
|
for line in data:
|
||||||
|
if filename.endswith('.fs') and line.startswith('needs '):
|
||||||
|
sfilename = line.split(' ')[1]
|
||||||
|
sfilename = os.path.join(os.path.dirname(filename), sfilename)
|
||||||
|
Import(sfilename)
|
||||||
|
elif (filename.endswith('.h') or
|
||||||
|
filename.endswith('.cc') or
|
||||||
|
filename.endswith('.c')) and line.startswith('#include "'):
|
||||||
|
sfilename = line.split('"')[1]
|
||||||
|
done = False
|
||||||
|
for base in bases:
|
||||||
|
sfilename = os.path.join(base, sfilename)
|
||||||
|
if os.path.exists(sfilename):
|
||||||
|
Import(sfilename)
|
||||||
|
done = True
|
||||||
|
break
|
||||||
|
if not done:
|
||||||
|
results.append(line)
|
||||||
|
else:
|
||||||
|
results.append(line)
|
||||||
|
|
||||||
|
def Process():
|
||||||
|
Import(args.filename)
|
||||||
|
for line in results:
|
||||||
|
if args.set_version:
|
||||||
|
line = line.replace('{{VERSION}}', args.set_version)
|
||||||
|
if args.set_revision:
|
||||||
|
line = line.replace('{{REVISION}}', args.set_revision)
|
||||||
|
print('\n'.join(results))
|
||||||
|
|
||||||
|
Process()
|
||||||
@ -1,4 +1,4 @@
|
|||||||
#! /usr/bin/env python
|
#! /usr/bin/env python3
|
||||||
# Copyright 2021 Bradley D. Nelson
|
# Copyright 2021 Bradley D. Nelson
|
||||||
#
|
#
|
||||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
|||||||
25
windows/windows_boot.fs
Normal file
25
windows/windows_boot.fs
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs ../common/phase1.fs
|
||||||
|
needs windows_core.fs \
|
||||||
|
needs windows_files.fs \
|
||||||
|
needs windows_console.fs \
|
||||||
|
needs allocation.fs \
|
||||||
|
needs ../common/phase2.fs
|
||||||
|
needs ../common/phase_filetools.fs
|
||||||
|
needs ../common/phase_desktop.fs
|
||||||
|
needs load_extra.fs \
|
||||||
|
needs ../posix/autoboot.fs \
|
||||||
|
needs ../common/fini.fs
|
||||||
18
windows/windows_boot_extra.fs
Normal file
18
windows/windows_boot_extra.fs
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
\ Copyright 2023 Bradley D. Nelson
|
||||||
|
\
|
||||||
|
\ Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
\ you may not use this file except in compliance with the License.
|
||||||
|
\ You may obtain a copy of the License at
|
||||||
|
\
|
||||||
|
\ http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
\
|
||||||
|
\ Unless required by applicable law or agreed to in writing, software
|
||||||
|
\ distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
\ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
\ See the License for the specific language governing permissions and
|
||||||
|
\ limitations under the License.
|
||||||
|
|
||||||
|
needs windows_user.fs
|
||||||
|
needs windows_gdi.fs
|
||||||
|
needs windows_messages.fs
|
||||||
|
needs graphics.fs
|
||||||
Reference in New Issue
Block a user