From 4c8f79bd52bb9effd00fe8347dd910cbec646e94 Mon Sep 17 00:00:00 2001 From: Arslaan Pathan Date: Sun, 4 Oct 2026 15:54:46 +1300 Subject: String test (doesn't work because compiler fuckery) --- README.md | 4 +++- meson.build | 3 ++- tests/String.m | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3bb5008..de22ed8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ # Paradox -Application framework for Objective-C built from first principles. +Application framework for Objective-C built from first principles, independent of Foundation/NeXTSTEP APIs. + +Compiler APIs depend on Foundation and Foundation depends on Compiler APIs.. wouldn't removing Foundation be a "Paradox"? (this is my shitty attempt at trying to find a reason for naming this Paradox other than the name sounding cool) ## Dependencies diff --git a/meson.build b/meson.build index c32e8c5..c5474ca 100644 --- a/meson.build +++ b/meson.build @@ -1,6 +1,6 @@ project('paradox', 'objc', version: '0.0.1', meson_version: '>=1.1.0') -add_project_arguments('-Wno-objc-root-class', '-Werror', '-pedantic', '-Wall', '-fobjc-runtime=gnustep-2.0', language: 'objc') # gnustep-2.0 in this context simply means the libobjc2 runtime (which is made by the GNUstep team), not actually GNUstep. Paradox is an independent framework and has no dependency on GNUstep or any other Objective-C application framework. +add_project_arguments('-Wno-objc-root-class', '-Werror', '-pedantic', '-Wall', '-fobjc-runtime=gnustep-2.0', '-fno-constant-cfstrings', '-fconstant-string-class=PXString', language: 'objc') # gnustep-2.0 in this context simply means the libobjc2 runtime (which is made by the GNUstep team), not actually GNUstep. Paradox is an independent framework and has no dependency on GNUstep or any other Objective-C application framework. if get_option('debug_features') add_project_arguments('-DPARADOX_DEBUG_FEATURES', language: 'objc') @@ -32,6 +32,7 @@ test_deps += declare_dependency(link_with: paradox, include_directories: inc, de executable('Object', 'tests/Object.m', dependencies: test_deps, install: false) executable('Introspection', 'tests/Introspection.m', dependencies: test_deps, install: false) executable('Selector', 'tests/Selector.m', dependencies: test_deps, install: false) +executable('String', 'tests/String.m', dependencies: test_deps, install: false) executable('AutoreleasePool', 'tests/AutoreleasePool.m', objc_args: ['-fobjc-arc'], dependencies: test_deps, install: false) pkg = import('pkgconfig') diff --git a/tests/String.m b/tests/String.m index f93d53c..18a3825 100644 --- a/tests/String.m +++ b/tests/String.m @@ -5,4 +5,5 @@ int main(void) { printf("PXString test\n"); PXString *string = @"Low taper fade"; printf("string UTF8String = %s\n", [string UTF8String]); + [string release]; } -- cgit v1.2.3