kit

kit
git clone https://git.ryansepassi.com/git/kit.git
Log | Files | Refs | README

registry.c (1165B)


      1 #include <kit/config.h>
      2 #include <kit/os.h>
      3 
      4 #if KIT_OBJ_MACHO_ENABLED
      5 extern const KitOsImpl kit_os_macos_impl;
      6 extern const KitOsImpl kit_os_ios_impl;
      7 extern const KitOsImpl kit_os_ios_simulator_impl;
      8 #endif
      9 #if KIT_OBJ_ELF_ENABLED || KIT_EMU_ENABLED
     10 extern const KitOsImpl kit_os_linux_impl;
     11 #endif
     12 #if KIT_OBJ_ELF_ENABLED
     13 extern const KitOsImpl kit_os_freebsd_impl;
     14 extern const KitOsImpl kit_os_android_impl;
     15 #endif
     16 #if KIT_OBJ_COFF_ENABLED
     17 extern const KitOsImpl kit_os_windows_impl;
     18 #endif
     19 
     20 const KitOsImpl* kit_os_lookup(KitOSKind kind) {
     21   switch (kind) {
     22 #if KIT_OBJ_MACHO_ENABLED
     23     case KIT_OS_MACOS:
     24       return &kit_os_macos_impl;
     25     case KIT_OS_IOS:
     26       return &kit_os_ios_impl;
     27     case KIT_OS_IOS_SIMULATOR:
     28       return &kit_os_ios_simulator_impl;
     29 #endif
     30 #if KIT_OBJ_ELF_ENABLED || KIT_EMU_ENABLED
     31     case KIT_OS_LINUX:
     32       return &kit_os_linux_impl;
     33 #endif
     34 #if KIT_OBJ_ELF_ENABLED
     35     case KIT_OS_FREEBSD:
     36       return &kit_os_freebsd_impl;
     37     case KIT_OS_ANDROID:
     38       return &kit_os_android_impl;
     39 #endif
     40 #if KIT_OBJ_COFF_ENABLED
     41     case KIT_OS_WINDOWS:
     42       return &kit_os_windows_impl;
     43 #endif
     44     default:
     45       return NULL;
     46   }
     47 }