1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#if 0
&& HOST_=x86_64-w64-mingw32- \
&& CC=${HOST_}gcc \
&& LD=${HOST_}gcc \
&& OBJDUMP=${HOST_}objdump \
&& BINEXT=.exe \
&& CFLAGS="-Wall -Werror -Wextra -pedantic -fmax-errors=3 -Iimport/include" \
&& LDFLAGS="-Wl,--gc-sections,--as-needed,-dn,-lgarbage,-lcJSON,-lexpat,-lmbedtls,-lmbedx509,-lmbedcrypto,-l:libwinpthread.a,-dy,-lws2_32,-Limport/lib" \
&& PROJECT_VERSION="$(date -u +0.0.0-%Y%m%d.%H%M%S)" \
&& mkdir -p build/bin \
&& ${CC:?} -c -o /tmp/rBcCAJFNAgDObAIA src/main/paisa/JenkinsReBuild.c ${CFLAGS:?} -DPROJECT_VERSION=${PROJECT_VERSION:?} \
&& ${LD:?} -o build/bin/JenkinsReBuild$BINEXT /tmp/rBcCAJFNAgDObAIA ${LDFLAGS:?} \
&& bullshit=$(${OBJDUMP?} -p build/bin/JenkinsReBuild$BINEXT|grep DLL\ Name|egrep -v ' (KERNEL32.dll|SHELL32.dll|WS2_32.dll|ADVAPI32.dll|msvcrt.dll)$'||true) \
&& if test -n "$bullshit"; then printf '\n ERROR: Bullshit has sneaked in:\n\n%s\n\n' "$bullshit"; rm build/bin/JenkinsReBuild$BINEXT; false; fi \
#endif
typedef struct App App;
#define App_mAGIC (signed)0x88180200
struct App {
int mAGIC;
int flg;
int exitCode;
};
static void printHelp( void ){
fprintf(stdout, "%s%s%s",
" \n"
" JenkinsReBuild (v", STR_QUOT(PROJECT_VERSION),").\n"
" \n"
" Fights annoying just-trigger-another-build workaround.\n"
" \n"
);
}
static int parseArgs( App*app, int argc, char**argv ){
register int iA = 0;
nextArg:;
char *arg = argv[++iA];
if( arg == NULL ){ goto verify; }
if( !strcmp(arg, "--help") ){
app->flg |= FLG_isHelp; return 0;
}else{
LOGERR("EINVAL: %s\n", arg); return-1;
}
goto nextArg;
verify:
//if( argc <= 1 ){ LOGERR("EINVAL: Zero-arg-nonsense. Tell me what you want please.\n"); return -1; }
return 0;
}
static int run( App*app ){
assert(!"TODO_YHYCAOUsAgAsWAIA");
}
int main( int argc, char**argv ){
App app = {0}; assert((void*)0 == NULL);
#define app (&app)
app->mAGIC = App_mAGIC;
app->exitCode = -1;
if( parseArgs(app, argc, argv) ){ goto endFn; }
if( app->flg & FLG_isHelp ){ printHelp(); goto endFn; }
app->exitCode = 0;
run(app);
endFn:
return !!app->exitCode;
#undef app
}
|