Move NitroDWC add-in libs to a separate subproject

This commit is contained in:
Nomura 2023-08-29 19:15:55 +02:00
parent 50f18bd93d
commit cbba05cbf9
37 changed files with 61 additions and 54 deletions

View File

@ -84,6 +84,7 @@ nitrowifi_dep = dependency('NitroWiFi', fallback : ['NitroWiFi', 'nitrowifi_
nitrodwc_dep = dependency('NitroDWC', fallback : ['NitroDWC', 'nitrodwc_dep'])
libcrypto_dep = dependency('libcrypto', fallback : ['libcrypto', 'libcrypto_dep'])
libsyscall_dep = dependency('libsyscall', fallback : ['libsyscall', 'libsyscall_dep'])
ppwlobby_dep = dependency('ppwlobby', fallback : ['ppwlobby', 'ppwlobby_dep'])
############################################################
@ -124,7 +125,8 @@ main = executable('main',
nitrowifi_dep,
nitrodwc_dep,
libsyscall_dep,
libcrypto_dep
libcrypto_dep,
ppwlobby_dep
],
link_with: [
libgds,

View File

@ -1,47 +0,0 @@
#ifndef DWC_ENCSESSION_H_
#define DWC_ENCSESSION_H_
#ifdef __cplusplus
extern "C" {
#endif
typedef enum {
DWCi_ENC_SESSION_STATE_CANCELED,
DWCi_ENC_SESSION_STATE_ERROR,
DWCi_ENC_SESSION_STATE_INITIAL,
DWCi_ENC_SESSION_STATE_INITIALIZED,
DWCi_ENC_SESSION_STATE_REQUEST,
DWCi_ENC_SESSION_STATE_GETTING_TOKEN,
DWCi_ENC_SESSION_STATE_GOT_TOKEN,
DWCi_ENC_SESSION_STATE_SENDING_DATA,
DWCi_ENC_SESSION_STATE_COMPLETED
} DWCiEncSessionState;
typedef enum {
DWCi_ENC_SESSION_SUCCESS,
DWCi_ENC_SESSION_ERROR_NOTINITIALIZED,
DWCi_ENC_SESSION_ERROR_NOMEMORY,
DWCi_ENC_SESSION_ERROR_INVALID_KEY
} DWCiEncSessionResult;
typedef enum {
DWCi_ENC_SERVER_RELEASE,
DWCi_ENC_SERVER_DEBUG,
DWCi_ENC_SERVER_TEST
} DWCiEncServer;
typedef BOOL (* DWCiEncSessionVaridateCallback)(u32 * buf, int len);
void DWCi_EncSessionInitialize(DWCiEncServer server, const char * initdata);
void DWCi_EncSessionShutdown(void);
DWCiEncSessionResult DWCi_EncSessionGetAsync(const char * url, s32 pid, void * data, u32 size, DWCiEncSessionVaridateCallback cb);
DWCiEncSessionResult DWCi_EncSessionGetReuseHashAsync(const char * url, s32 pid, void * data, u32 size, DWCiEncSessionVaridateCallback cb);
DWCiEncSessionState DWCi_EncSessionProcess(void);
void * DWCi_EncSessionGetResponse(u32 * size);
void DWCi_EncSessionCancel(void);
#ifdef __cplusplus
}
#endif
#endif

View File

@ -3,9 +3,6 @@ subdir('account')
subdir('auth')
subdir('base')
subdir('bm')
subdir('enc')
subdir('ilobby')
subdir('nd')
subdir('nhttp')
subdir('ppwlobby')
subdir('util')

View File

@ -7,4 +7,4 @@ libdwcenc = static_library('dwcenc',
pic: false
)
nitrodwc_libs += libdwcenc
ppwlobby_libs += libdwcenc

View File

@ -12,4 +12,4 @@ libdwcilobby = static_library('dwcilobby',
pic: false
)
nitrodwc_libs += libdwcilobby
ppwlobby_libs += libdwcilobby

View File

@ -0,0 +1,3 @@
subdir('enc')
subdir('ilobby')
subdir('ppwlobby')

View File

@ -14,4 +14,4 @@ libdwcppwlobby = static_library('dwcppwlobby',
pic: false
)
nitrodwc_libs += libdwcppwlobby
ppwlobby_libs += libdwcppwlobby

View File

@ -0,0 +1,52 @@
project('ppwlobby', ['c', 'nasm'])
# Compiler flags
c_args = [
'-O4,p',
'-proc', 'arm946e',
'-enum', 'int',
'-lang', 'c99',
'-Cpp_exceptions', 'off',
'-gccext,on',
'-msgstyle', 'gcc',
'-ipa', 'file',
'-interworking',
'-inline', 'on,noauto',
'-char', 'signed',
'-nosyspath',
'-stdinc'
]
asm_args = [
'-proc', 'arm5TE',
'-gccinc'
]
sdk_args = [
'-DSDK_CW_FORCE_EXPORT_SUPPORT',
'-DSDK_TS',
'-DSDK_4M',
'-DSDK_ARM9',
'-DSDK_CW',
'-DSDK_FINALROM',
'-DSDK_CODE_ARM',
'-DNNS_FINALROM'
]
# Dependencies
nitrodwc_dep = dependency('NitroDWC', fallback : ['NitroDWC', 'nitrodwc_dep'])
# Public includes
public_includes = include_directories('include')
# Libraries
ppwlobby_libs = []
subdir('libraries')
# Own dependency for consumers
ppwlobby_dep = declare_dependency(
compile_args: sdk_args,
dependencies: [nitrodwc_dep],
include_directories: public_includes,
link_with: ppwlobby_libs
)