From 215518ae55a54973a1ae18f572ca5bf0ac2a499e Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 28 Mar 2024 14:56:11 +0100 Subject: Kernel: Move CA_FAR CA_NEAR into x86 code only. Kernel: Breaking changes, removed kObjectTypeProcess and KObjectTypeUserDefined with kObjectTypeGeneric. Makefile: Move ' -I../ -I../../../Private/ ' to CCINC variable. Signed-off-by: Amlal El Mahrouss --- Private/ObjectKit/ObjectKit.hxx | 3 +-- Public/Developer/System.Core/Headers/Defines.h | 21 +++++++++++++++------ Public/Developer/System.Core/Makefile | 13 +++++++------ 3 files changed, 23 insertions(+), 14 deletions(-) diff --git a/Private/ObjectKit/ObjectKit.hxx b/Private/ObjectKit/ObjectKit.hxx index 5569ac51..384bf145 100644 --- a/Private/ObjectKit/ObjectKit.hxx +++ b/Private/ObjectKit/ObjectKit.hxx @@ -12,12 +12,11 @@ #define kObjectGlobalNamespace ":\\" enum { - kObjectTypeProcess, + kObjectTypeGeneric, kObjectTypeFile, kObjectTypeDevice, kObjectTypeNetwork, kObjectTypeInvalid, - KObjectTypeUserDefined = 0xCF, kObjectTypeCount = 5, }; diff --git a/Public/Developer/System.Core/Headers/Defines.h b/Public/Developer/System.Core/Headers/Defines.h index a5513bd5..cf8cbde6 100644 --- a/Public/Developer/System.Core/Headers/Defines.h +++ b/Public/Developer/System.Core/Headers/Defines.h @@ -82,13 +82,19 @@ typedef CharacterTypeUTF8 BooleanType; #define CA_PTR * -#define CA_FAR __far -#define CA_NEAR __near - #define CA_UNREFERENCED_PARAMETER(e) ((VoidType)e) #ifdef __x86_64__ + +# define CA_FAR __far +# define CA_NEAR __near + # define _M_AMD64 2 +#else + +# define CA_FAR +# define CA_NEAR + #endif #ifdef __aarch64__ @@ -133,13 +139,14 @@ enum RtProcessCall { #include #include +#define kObjectGlobalNamespace ":\\" + enum { - kObjectTypeProcess, + kObjectTypeGeneric, kObjectTypeFile, kObjectTypeDevice, kObjectTypeNetwork, kObjectTypeInvalid, - KObjectTypeUserDefined = 0xCF, kObjectTypeCount = 5, }; @@ -179,7 +186,9 @@ using StrType = CharacterTypeUTF8[N]; #endif // ifdef C++ -CA_EXTERN_C ObjectRef RtGetAppObject(VoidType); +CA_EXTERN_C ObjectRef RtGetAppObject(VoidType); +CA_EXTERN_C SizeType RtGetAppArgumentsCount(VoidType); +CA_EXTERN_C CharacterTypeUTF8* RtGetAppArgumentsPtr(VoidType); CA_INLINE ObjectRef kApplicationObject; diff --git a/Public/Developer/System.Core/Makefile b/Public/Developer/System.Core/Makefile index 0f20cc72..32b473f3 100644 --- a/Public/Developer/System.Core/Makefile +++ b/Public/Developer/System.Core/Makefile @@ -1,19 +1,20 @@ ################################################## -# (C) Mahrouss Logic, all rights reserved. -# This is the System.Graphics Makefile. +# (C) Mahrouss Logic, all rights reserved. +# This is the SystemLib Makefile. ################################################## CC=x86_64-w64-mingw32-g++ +CCINC=-I../ -I../../../Private/ CCFLAGS=-shared -ffreestanding -D__SINGLE_PRECISION__ -nostdlib -fno-rtti -fno-exceptions -std=c++20 -Xlinker --subsystem=17 -OUTPUT=System.Core.lib +OUTPUT=SystemLib.lib .PHONY: build-core-amd64 build-core-amd64: - $(CC) -I../ -I$(HOME) -I../../../Private/ $(CCFLAGS) $(wildcard Sources/*.c) $(wildcard Sources/*.cxx) $(wildcard AMD64/*.s) -o $(OUTPUT) + $(CC) $(INC) $(CCFLAGS) $(wildcard Sources/*.c) $(wildcard Sources/*.cxx) $(wildcard AMD64/*.s) -o $(OUTPUT) .PHONY: all -all: build-core - @echo "[System.Core.dll] Build done." +all: build-core-amd64 + @echo "[SystemLib.lib] Build done." .PHONY: clean clean: -- cgit v1.2.3