From 03d19e104d5dd6b72610fe20515c085742d6308e Mon Sep 17 00:00:00 2001 From: Allen Webster Date: Wed, 24 Apr 2024 06:15:00 -0700 Subject: [PATCH] rename concrete -> linking, combine clang folders --- GUIDE.txt | 15 ++++++++++----- .../build_linux_linking.sh | 2 +- .../build_win32_linking.bat | 2 +- {linux_concrete => linux_linking}/build.sh | 0 {linux_concrete => linux_linking}/linux_base.c | 0 {linux_concrete => linux_linking}/linux_main.c | 0 {linux_concrete => linux_linking}/linux_plugin.c | 0 {win32_concrete => win32_linking}/build.bat | 0 {win32_concrete => win32_linking}/win32_base.c | 0 {win32_concrete => win32_linking}/win32_main.c | 0 {win32_concrete => win32_linking}/win32_plugin.c | 0 11 files changed, 12 insertions(+), 7 deletions(-) rename linux_clang/build.sh => clang_linking/build_linux_linking.sh (97%) rename win32_clang/build.bat => clang_linking/build_win32_linking.bat (97%) rename {linux_concrete => linux_linking}/build.sh (100%) rename {linux_concrete => linux_linking}/linux_base.c (100%) rename {linux_concrete => linux_linking}/linux_main.c (100%) rename {linux_concrete => linux_linking}/linux_plugin.c (100%) rename {win32_concrete => win32_linking}/build.bat (100%) rename {win32_concrete => win32_linking}/win32_base.c (100%) rename {win32_concrete => win32_linking}/win32_main.c (100%) rename {win32_concrete => win32_linking}/win32_plugin.c (100%) diff --git a/GUIDE.txt b/GUIDE.txt index 1e54e60..2774aab 100644 --- a/GUIDE.txt +++ b/GUIDE.txt @@ -7,11 +7,16 @@ layer, plugin, and main program. The examples: -*_concrete - Concrete examples for each operating system I have investigated - showing how to setup and use various types of dynamic linking. In - these the "base" layer goes through load-time linking, the - "plugin" layer goes through run-time linking, and the "main" layer - acts as the executable that must bind it all together. +*_linking - Concrete examples for each operating system I have investigated + showing how to setup and use various types of dynamic linking. In + these the "base" layer goes through load-time linking, the + "plugin" layer goes through run-time linking, and the "main" layer + acts as the executable that must bind it all together. + +clang_linking - Build scripts that build the *_linking examples with clang. + Clang does not require changes to the source in either case. + The build lines require some modification on Windows. + On Linux clang can be directly swapped out for gcc. xlist - My prefered solution to the problem posed in the investigation which relies only on run-time linking. It uses an xlist to manage the diff --git a/linux_clang/build.sh b/clang_linking/build_linux_linking.sh similarity index 97% rename from linux_clang/build.sh rename to clang_linking/build_linux_linking.sh index 7967b36..6182385 100644 --- a/linux_clang/build.sh +++ b/clang_linking/build_linux_linking.sh @@ -1,7 +1,7 @@ #!/bin/bash # Path setup -cd ../linux_concrete +cd ../linux_linking src=$PWD cd .. mkdir -p build diff --git a/win32_clang/build.bat b/clang_linking/build_win32_linking.bat similarity index 97% rename from win32_clang/build.bat rename to clang_linking/build_win32_linking.bat index 4227176..1dfe04a 100644 --- a/win32_clang/build.bat +++ b/clang_linking/build_win32_linking.bat @@ -2,7 +2,7 @@ REM: Path setup -cd ..\win32_concrete +cd ..\win32_linking SET src=%cd% cd .. if not exist "build\" mkdir build diff --git a/linux_concrete/build.sh b/linux_linking/build.sh similarity index 100% rename from linux_concrete/build.sh rename to linux_linking/build.sh diff --git a/linux_concrete/linux_base.c b/linux_linking/linux_base.c similarity index 100% rename from linux_concrete/linux_base.c rename to linux_linking/linux_base.c diff --git a/linux_concrete/linux_main.c b/linux_linking/linux_main.c similarity index 100% rename from linux_concrete/linux_main.c rename to linux_linking/linux_main.c diff --git a/linux_concrete/linux_plugin.c b/linux_linking/linux_plugin.c similarity index 100% rename from linux_concrete/linux_plugin.c rename to linux_linking/linux_plugin.c diff --git a/win32_concrete/build.bat b/win32_linking/build.bat similarity index 100% rename from win32_concrete/build.bat rename to win32_linking/build.bat diff --git a/win32_concrete/win32_base.c b/win32_linking/win32_base.c similarity index 100% rename from win32_concrete/win32_base.c rename to win32_linking/win32_base.c diff --git a/win32_concrete/win32_main.c b/win32_linking/win32_main.c similarity index 100% rename from win32_concrete/win32_main.c rename to win32_linking/win32_main.c diff --git a/win32_concrete/win32_plugin.c b/win32_linking/win32_plugin.c similarity index 100% rename from win32_concrete/win32_plugin.c rename to win32_linking/win32_plugin.c