I know linux etc have ld but what about windows? I don't want to need to install the full mingw/mingw64 devkits for what I'm making, I'd even be fine with manually implementing the linker if I have to (though I'd really rather not).
Basically I've settled on a possible solution for cross-platform development that does not directly hook into the system APIs (separate library for that) and I need a linker for the final step to be available on each system, regardless of if gcc/mingw tool collections are installed. The basic idea is that the object files are distributed within the directory setup I have for each architecture & data model and then have them linked into the final application/library and launched on the host system. Would be the equivalent of
Which naturally means the developer would not need to know the target operating system, just the target architecture and data model which is significantly easier to develop for.Code:gcc -o $name$(EXE_EXT) $(OTG_DIR)/.paw/$(PAW_OS_ABI)/main.o $(OTG_DIR)/.paw/$(PAW_ABI)/$name/obj1.o $(OTG_DIR)/.paw/$(PAW_ABI)/$name/obj2.o ... -lpaw1 $(LIBS) && ./$name$(EXE_EXT)
I know I'll probably have to implement a custom library format eventually for systems that don't have native support for dynamic libraries but that's for a later version of the library and launcher pair, for now I'm hoping to offload that as much as possible without making the entire devkits a pre-requisite.