#define NULL ((void *)0)
typedef unsigned long size_t; // Customize by platform.
typedef long intptr_t;
typedef unsigned long uintptr_t;
typedef long scalar_t__; // Either arithmetic or pointer type.
/* By default, we understand bool (as a convenience). */
typedef int bool;
#define false 0
#define true 1

/* Forward declarations */

/* Type definitions */

/* Variables and functions */
int /*<<< orphan*/ printf(char *, ...);
void show_help() {
  printf("%s v%s - because packaging is harder than "
         "it needs to be\n\n",
         "packagemonkey", "1.00");
  printf(" -n  --name <project name>         "
         "The full name or title of the project\n");
  printf(" -d  --dir <directory>             "
         "Directory of the project to be packaged\n");
  printf(" -c  --cmd                         "
         "Used to indicate this is a command line project\n");
  printf(" -b  --binaries <files>            "
         "Directory containing binaries to be packaged\n");
  printf("     --compile <args>              "
         "Additional arguments to add to the compilation\n");
  printf(" -l  --license <type>              "
         "The license type (gpl2|gpl3|lgpl2|lgpl3|agpl|\n"
         "                                   "
         "agpl3|mit|bsd|apache|mozilla)\n");
  printf(" -e  --email <address>             "
         "Set full name and email address\n");
  printf("     --brief <description>         "
         "A brief one line description of the project\n");
  printf("     --desc <description>          "
         "A full description of the project\n");
  printf("     --homepage <url>              "
         "URL of the project home page\n");
  printf("     --src <url>                   "
         "URL of the compressed source code\n");
  printf("     --srcdir <directory>          "
         "Subdirectory within which source code will be\n"
         "                                   "
         "located (typically \"src\")\n");
  printf("     --section <sections>          "
         "Debian sections\n");
  printf("     --categories <cat>            "
         ".desktop file categories\n");
  printf(" -m  --mime <types>                "
         "Mime types which the project can handle\n");
  printf("     --dependsdeb <packages>       "
         "Deb packages which the project depends upon\n");
  printf("     --dependsrpm <packages>       "
         "RPM packages which the project depends upon\n");
  printf("     --dependsrpmdistro <packages> "
         "Distro specific dependencies\n");
  printf("     --dependsarch <packages>      "
         "Arch packages which the project depends upon\n");
  printf("     --dependspuppy <packages>     "
         "Puppy packages which the project depends upon\n");
  printf("     --dependsebuild <packages>    "
         "Ebuild packages which the project depends upon\n");
  printf("     --builddeb <packages>         "
         "Deb packages required to build the project\n");
  printf("     --buildrpm <packages>         "
         "RPM packages required to build the project\n");
  printf("     --buildrpmdistro <packages>   "
         "Distro specific build dependencies\n");
  printf("     --buildarch <packages>        "
         "Arch packages required to build the project\n");
  printf("     --buildebuild <packages>      "
         "Ebuild packages required to build the project\n");
  printf("     --list-sections               "
         "List the possible Debian sections\n");
  printf("     --list-desktop                "
         "List the possible desktop file categories\n");
  printf("     --debian <version>            "
         "Set the Debian version\n");
  printf("     --mainscript <filename>       "
         "If the project uses a scripted language then\n"
         "                                   "
         "this specifies the initial script to be run\n");
  printf("     --cstandard <standard>        "
         "The standard to be used by gcc/g++ (c99, gnu99, etc)\n");
  printf("     --librarypath <paths>         "
         "Specify LD_LIBRARY_PATH\n");
  printf("     --suggestsdeb                 "
         "Suggested Debian packages\n");
  printf("     --suggestsarch                "
         "Suggested Arch packages\n");
  printf(" -t  --tests                       "
         "Run unit tests\n");
  printf("     --pythonversion               "
         "Version of Python to use (2/3)\n");
  printf("     --pythonreq                   "
         "Ebuild PYTHON_REQ_USE dependencies\n");
  printf(" -v  --version                     "
         "Show or set the project version number\n");
  printf(" -r  --release                     "
         "Set the project release number\n");
  printf("     --brselect                    "
         "buildroot select entries from Config.in\n");
  printf("     --brdepends                   "
         "buildroot depends entries from Config.in\n");
  printf("     --downloadsite                "
         "buildroot URL to download source code from\n");
  printf("     --brdependencies              "
         "buildroot makefile dependencies\n");
  printf("     --commit                      "
         "Commit hash if downloading from a repo\n");
  printf(" -h  --help                        "
         "Show help\n");
}


x86 assembly (clang, -O0):
<show_help>:
push   %rbp
mov    %rsp,%rbp
lea    0xee5(%rip),%rdi
lea    0xf19(%rip),%rsi
lea    0xf20(%rip),%rdx
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf17(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf53(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xf91(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0xfd7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x101a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x105f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x10e4(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x111a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x115c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1194(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x11c7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x11ff(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1280(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x12a6(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x12d5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1313(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1355(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1397(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x13ca(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x140d(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1451(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1496(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x14d7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1518(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1551(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1593(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x15d7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x160f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x164f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x167c(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x170e(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1759(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1787(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x17b7(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x17e5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x180a(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x183f(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1878(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x18b5(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x18ea(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1928(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1967(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x19a8(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x19de(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
lea    0x1a1b(%rip),%rdi
mov    $0x0,%al
call   1030 <printf@plt>
pop    %rbp
ret

x86 assembly (clang, -O2):
<show_help>:
push   %rax
lea    0xed8(%rip),%rdi
lea    0xf0c(%rip),%rsi
lea    0xf13(%rip),%rdx
xor    %eax,%eax
call   1040 <printf@plt>
lea    0xf0a(%rip),%rdi
call   1030 <puts@plt>
lea    0xf47(%rip),%rdi
call   1030 <puts@plt>
lea    0xf86(%rip),%rdi
call   1030 <puts@plt>
lea    0xfcd(%rip),%rdi
call   1030 <puts@plt>
lea    0x1011(%rip),%rdi
call   1030 <puts@plt>
lea    0x1057(%rip),%rdi
call   1030 <puts@plt>
lea    0x10dd(%rip),%rdi
call   1030 <puts@plt>
lea    0x1114(%rip),%rdi
call   1030 <puts@plt>
lea    0x1157(%rip),%rdi
call   1030 <puts@plt>
lea    0x1190(%rip),%rdi
call   1030 <puts@plt>
lea    0x11c4(%rip),%rdi
call   1030 <puts@plt>
lea    0x11fd(%rip),%rdi
call   1030 <puts@plt>
lea    0x127f(%rip),%rdi
call   1030 <puts@plt>
lea    0x12a6(%rip),%rdi
call   1030 <puts@plt>
lea    0x12d6(%rip),%rdi
call   1030 <puts@plt>
lea    0x1315(%rip),%rdi
call   1030 <puts@plt>
lea    0x1358(%rip),%rdi
call   1030 <puts@plt>
lea    0x139b(%rip),%rdi
call   1030 <puts@plt>
lea    0x13cf(%rip),%rdi
call   1030 <puts@plt>
lea    0x1413(%rip),%rdi
call   1030 <puts@plt>
lea    0x1458(%rip),%rdi
call   1030 <puts@plt>
lea    0x149e(%rip),%rdi
call   1030 <puts@plt>
lea    0x14e0(%rip),%rdi
call   1030 <puts@plt>
lea    0x1522(%rip),%rdi
call   1030 <puts@plt>
lea    0x155c(%rip),%rdi
call   1030 <puts@plt>
lea    0x159f(%rip),%rdi
call   1030 <puts@plt>
lea    0x15e4(%rip),%rdi
call   1030 <puts@plt>
lea    0x161d(%rip),%rdi
call   1030 <puts@plt>
lea    0x165e(%rip),%rdi
call   1030 <puts@plt>
lea    0x168c(%rip),%rdi
call   1030 <puts@plt>
lea    0x171f(%rip),%rdi
call   1030 <puts@plt>
lea    0x176b(%rip),%rdi
call   1030 <puts@plt>
lea    0x179a(%rip),%rdi
call   1030 <puts@plt>
lea    0x17cb(%rip),%rdi
call   1030 <puts@plt>
lea    0x17fa(%rip),%rdi
call   1030 <puts@plt>
lea    0x1820(%rip),%rdi
call   1030 <puts@plt>
lea    0x1856(%rip),%rdi
call   1030 <puts@plt>
lea    0x1890(%rip),%rdi
call   1030 <puts@plt>
lea    0x18ce(%rip),%rdi
call   1030 <puts@plt>
lea    0x1904(%rip),%rdi
call   1030 <puts@plt>
lea    0x1943(%rip),%rdi
call   1030 <puts@plt>
lea    0x1983(%rip),%rdi
call   1030 <puts@plt>
lea    0x19c5(%rip),%rdi
call   1030 <puts@plt>
lea    0x19fc(%rip),%rdi
call   1030 <puts@plt>
lea    0x1a3a(%rip),%rdi
pop    %rax
jmp    1030 <puts@plt>

LLVM IR (-O0):
@.str = [59 x i8] c"%s v%s - because packaging is harder than it needs to be\0A\0A\00"
@.str.1 = [14 x i8] c"packagemonkey\00"
@.str.2 = [5 x i8] c"1.00\00"
@.str.3 = [74 x i8] c" -n --name <project name> The full name or title of the project\0A\00"
@.str.4 = [76 x i8] c" -d --dir <directory> Directory of the project to be packaged\0A\00"
@.str.5 = [84 x i8] c" -c --cmd Used to indicate this is a command line project\0A\00"
@.str.6 = [81 x i8] c" -b --binaries <files> Directory containing binaries to be packaged\0A\00"
@.str.7 = [83 x i8] c" --compile <args> Additional arguments to add to the compilation\0A\00"
@.str.8 = [147 x i8] c" -l --license <type> The license type (gpl2|gpl3|lgpl2|lgpl3|agpl|\0A agpl3|mit|bsd|apache|mozilla)\0A\00"
@.str.9 = [68 x i8] c" -e --email <address> Set full name and email address\0A\00"
@.str.10 = [80 x i8] c" --brief <description> A brief one line description of the project\0A\00"
@.str.11 = [70 x i8] c" --desc <description> A full description of the project\0A\00"
@.str.12 = [65 x i8] c" --homepage <url> URL of the project home page\0A\00"
@.str.13 = [70 x i8] c" --src <url> URL of the compressed source code\0A\00"
@.str.14 = [143 x i8] c" --srcdir <directory> Subdirectory within which source code will be\0A located (typically \22src\22)\0A\00"
@.str.15 = [52 x i8] c" --section <sections> Debian sections\0A\00"
@.str.16 = [61 x i8] c" --categories <cat> .desktop file categories\0A\00"
@.str.17 = [76 x i8] c" -m --mime <types> Mime types which the project can handle\0A\00"
@.str.18 = [80 x i8] c" --dependsdeb <packages> Deb packages which the project depends upon\0A\00"
@.str.19 = [80 x i8] c" --dependsrpm <packages> RPM packages which the project depends upon\0A\00"
@.str.20 = [65 x i8] c" --dependsrpmdistro <packages> Distro specific dependencies\0A\00"
@.str.21 = [81 x i8] c" --dependsarch <packages> Arch packages which the project depends upon\0A\00"
@.str.22 = [82 x i8] c" --dependspuppy <packages> Puppy packages which the project depends upon\0A\00"
@.str.23 = [83 x i8] c" --dependsebuild <packages> Ebuild packages which the project depends upon\0A\00"
@.str.24 = [79 x i8] c" --builddeb <packages> Deb packages required to build the project\0A\00"
@.str.25 = [79 x i8] c" --buildrpm <packages> RPM packages required to build the project\0A\00"
@.str.26 = [71 x i8] c" --buildrpmdistro <packages> Distro specific build dependencies\0A\00"
@.str.27 = [80 x i8] c" --buildarch <packages> Arch packages required to build the project\0A\00"
@.str.28 = [82 x i8] c" --buildebuild <packages> Ebuild packages required to build the project\0A\00"
@.str.29 = [70 x i8] c" --list-sections List the possible Debian sections\0A\00"
@.str.30 = [78 x i8] c" --list-desktop List the possible desktop file categories\0A\00"
@.str.31 = [59 x i8] c" --debian <version> Set the Debian version\0A\00"
@.str.32 = [160 x i8] c" --mainscript <filename> If the project uses a scripted language then\0A this specifies the initial script to be run\0A\00"
@.str.33 = [89 x i8] c" --cstandard <standard> The standard to be used by gcc/g++ (c99, gnu99, etc)\0A\00"
@.str.34 = [60 x i8] c" --librarypath <paths> Specify LD_LIBRARY_PATH\0A\00"
@.str.35 = [62 x i8] c" --suggestsdeb Suggested Debian packages\0A\00"
@.str.36 = [60 x i8] c" --suggestsarch Suggested Arch packages\0A\00"
@.str.37 = [51 x i8] c" -t --tests Run unit tests\0A\00"
@.str.38 = [67 x i8] c" --pythonversion Version of Python to use (2/3)\0A\00"
@.str.39 = [71 x i8] c" --pythonreq Ebuild PYTHON_REQ_USE dependencies\0A\00"
@.str.40 = [75 x i8] c" -v --version Show or set the project version number\0A\00"
@.str.41 = [67 x i8] c" -r --release Set the project release number\0A\00"
@.str.42 = [76 x i8] c" --brselect buildroot select entries from Config.in\0A\00"
@.str.43 = [77 x i8] c" --brdepends buildroot depends entries from Config.in\0A\00"
@.str.44 = [79 x i8] c" --downloadsite buildroot URL to download source code from\0A\00"
@.str.45 = [68 x i8] c" --brdependencies buildroot makefile dependencies\0A\00"
@.str.46 = [75 x i8] c" --commit Commit hash if downloading from a repo\0A\00"
@.str.47 = [46 x i8] c" -h --help Show help\0A\00"
define void @show_help() {
%1 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0))
%2 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([74 x i8], [74 x i8]* @.str.3, i64 0, i64 0))
%3 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.4, i64 0, i64 0))
%4 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([84 x i8], [84 x i8]* @.str.5, i64 0, i64 0))
%5 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.6, i64 0, i64 0))
%6 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.7, i64 0, i64 0))
%7 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([147 x i8], [147 x i8]* @.str.8, i64 0, i64 0))
%8 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.9, i64 0, i64 0))
%9 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.10, i64 0, i64 0))
%10 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.11, i64 0, i64 0))
%11 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.12, i64 0, i64 0))
%12 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.13, i64 0, i64 0))
%13 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([143 x i8], [143 x i8]* @.str.14, i64 0, i64 0))
%14 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([52 x i8], [52 x i8]* @.str.15, i64 0, i64 0))
%15 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([61 x i8], [61 x i8]* @.str.16, i64 0, i64 0))
%16 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.17, i64 0, i64 0))
%17 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.18, i64 0, i64 0))
%18 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.19, i64 0, i64 0))
%19 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([65 x i8], [65 x i8]* @.str.20, i64 0, i64 0))
%20 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([81 x i8], [81 x i8]* @.str.21, i64 0, i64 0))
%21 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.22, i64 0, i64 0))
%22 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([83 x i8], [83 x i8]* @.str.23, i64 0, i64 0))
%23 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.24, i64 0, i64 0))
%24 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.25, i64 0, i64 0))
%25 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.26, i64 0, i64 0))
%26 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([80 x i8], [80 x i8]* @.str.27, i64 0, i64 0))
%27 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([82 x i8], [82 x i8]* @.str.28, i64 0, i64 0))
%28 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([70 x i8], [70 x i8]* @.str.29, i64 0, i64 0))
%29 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([78 x i8], [78 x i8]* @.str.30, i64 0, i64 0))
%30 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([59 x i8], [59 x i8]* @.str.31, i64 0, i64 0))
%31 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([160 x i8], [160 x i8]* @.str.32, i64 0, i64 0))
%32 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([89 x i8], [89 x i8]* @.str.33, i64 0, i64 0))
%33 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.34, i64 0, i64 0))
%34 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([62 x i8], [62 x i8]* @.str.35, i64 0, i64 0))
%35 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([60 x i8], [60 x i8]* @.str.36, i64 0, i64 0))
%36 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([51 x i8], [51 x i8]* @.str.37, i64 0, i64 0))
%37 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.38, i64 0, i64 0))
%38 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([71 x i8], [71 x i8]* @.str.39, i64 0, i64 0))
%39 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.40, i64 0, i64 0))
%40 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([67 x i8], [67 x i8]* @.str.41, i64 0, i64 0))
%41 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([76 x i8], [76 x i8]* @.str.42, i64 0, i64 0))
%42 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([77 x i8], [77 x i8]* @.str.43, i64 0, i64 0))
%43 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([79 x i8], [79 x i8]* @.str.44, i64 0, i64 0))
%44 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([68 x i8], [68 x i8]* @.str.45, i64 0, i64 0))
%45 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([75 x i8], [75 x i8]* @.str.46, i64 0, i64 0))
%46 = call i32 (i8*, ...) @printf(i8* getelementptr inbounds ([46 x i8], [46 x i8]* @.str.47, i64 0, i64 0))
ret void
}

LLVM IR (-O2):
@.str = [59 x i8] c"%s v%s - because packaging is harder than it needs to be\0A\0A\00"
@.str.1 = [14 x i8] c"packagemonkey\00"
@.str.2 = [5 x i8] c"1.00\00"
@str = [73 x i8] c" -n --name <project name> The full name or title of the project\00"
@str.48 = [75 x i8] c" -d --dir <directory> Directory of the project to be packaged\00"
@str.49 = [83 x i8] c" -c --cmd Used to indicate this is a command line project\00"
@str.50 = [80 x i8] c" -b --binaries <files> Directory containing binaries to be packaged\00"
@str.51 = [82 x i8] c" --compile <args> Additional arguments to add to the compilation\00"
@str.52 = [146 x i8] c" -l --license <type> The license type (gpl2|gpl3|lgpl2|lgpl3|agpl|\0A agpl3|mit|bsd|apache|mozilla)\00"
@str.53 = [67 x i8] c" -e --email <address> Set full name and email address\00"
@str.54 = [79 x i8] c" --brief <description> A brief one line description of the project\00"
@str.55 = [69 x i8] c" --desc <description> A full description of the project\00"
@str.56 = [64 x i8] c" --homepage <url> URL of the project home page\00"
@str.57 = [69 x i8] c" --src <url> URL of the compressed source code\00"
@str.58 = [142 x i8] c" --srcdir <directory> Subdirectory within which source code will be\0A located (typically \22src\22)\00"
@str.59 = [51 x i8] c" --section <sections> Debian sections\00"
@str.60 = [60 x i8] c" --categories <cat> .desktop file categories\00"
@str.61 = [75 x i8] c" -m --mime <types> Mime types which the project can handle\00"
@str.62 = [79 x i8] c" --dependsdeb <packages> Deb packages which the project depends upon\00"
@str.63 = [79 x i8] c" --dependsrpm <packages> RPM packages which the project depends upon\00"
@str.64 = [64 x i8] c" --dependsrpmdistro <packages> Distro specific dependencies\00"
@str.65 = [80 x i8] c" --dependsarch <packages> Arch packages which the project depends upon\00"
@str.66 = [81 x i8] c" --dependspuppy <packages> Puppy packages which the project depends upon\00"
@str.67 = [82 x i8] c" --dependsebuild <packages> Ebuild packages which the project depends upon\00"
@str.68 = [78 x i8] c" --builddeb <packages> Deb packages required to build the project\00"
@str.69 = [78 x i8] c" --buildrpm <packages> RPM packages required to build the project\00"
@str.70 = [70 x i8] c" --buildrpmdistro <packages> Distro specific build dependencies\00"
@str.71 = [79 x i8] c" --buildarch <packages> Arch packages required to build the project\00"
@str.72 = [81 x i8] c" --buildebuild <packages> Ebuild packages required to build the project\00"
@str.73 = [69 x i8] c" --list-sections List the possible Debian sections\00"
@str.74 = [77 x i8] c" --list-desktop List the possible desktop file categories\00"
@str.75 = [58 x i8] c" --debian <version> Set the Debian version\00"
@str.76 = [159 x i8] c" --mainscript <filename> If the project uses a scripted language then\0A this specifies the initial script to be run\00"
@str.77 = [88 x i8] c" --cstandard <standard> The standard to be used by gcc/g++ (c99, gnu99, etc)\00"
@str.78 = [59 x i8] c" --librarypath <paths> Specify LD_LIBRARY_PATH\00"
@str.79 = [61 x i8] c" --suggestsdeb Suggested Debian packages\00"
@str.80 = [59 x i8] c" --suggestsarch Suggested Arch packages\00"
@str.81 = [50 x i8] c" -t --tests Run unit tests\00"
@str.82 = [66 x i8] c" --pythonversion Version of Python to use (2/3)\00"
@str.83 = [70 x i8] c" --pythonreq Ebuild PYTHON_REQ_USE dependencies\00"
@str.84 = [74 x i8] c" -v --version Show or set the project version number\00"
@str.85 = [66 x i8] c" -r --release Set the project release number\00"
@str.86 = [75 x i8] c" --brselect buildroot select entries from Config.in\00"
@str.87 = [76 x i8] c" --brdepends buildroot depends entries from Config.in\00"
@str.88 = [78 x i8] c" --downloadsite buildroot URL to download source code from\00"
@str.89 = [67 x i8] c" --brdependencies buildroot makefile dependencies\00"
@str.90 = [74 x i8] c" --commit Commit hash if downloading from a repo\00"
@str.91 = [45 x i8] c" -h --help Show help\00"
define void @show_help() {
%1 = tail call i32 (i8*, ...) @printf(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @.str, i64 0, i64 0), i8* getelementptr inbounds ([14 x i8], [14 x i8]* @.str.1, i64 0, i64 0), i8* getelementptr inbounds ([5 x i8], [5 x i8]* @.str.2, i64 0, i64 0))
%2 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([73 x i8], [73 x i8]* @str, i64 0, i64 0))
%3 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.48, i64 0, i64 0))
%4 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([83 x i8], [83 x i8]* @str.49, i64 0, i64 0))
%5 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([80 x i8], [80 x i8]* @str.50, i64 0, i64 0))
%6 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([82 x i8], [82 x i8]* @str.51, i64 0, i64 0))
%7 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([146 x i8], [146 x i8]* @str.52, i64 0, i64 0))
%8 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([67 x i8], [67 x i8]* @str.53, i64 0, i64 0))
%9 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([79 x i8], [79 x i8]* @str.54, i64 0, i64 0))
%10 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.55, i64 0, i64 0))
%11 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([64 x i8], [64 x i8]* @str.56, i64 0, i64 0))
%12 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.57, i64 0, i64 0))
%13 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([142 x i8], [142 x i8]* @str.58, i64 0, i64 0))
%14 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([51 x i8], [51 x i8]* @str.59, i64 0, i64 0))
%15 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([60 x i8], [60 x i8]* @str.60, i64 0, i64 0))
%16 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.61, i64 0, i64 0))
%17 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([79 x i8], [79 x i8]* @str.62, i64 0, i64 0))
%18 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([79 x i8], [79 x i8]* @str.63, i64 0, i64 0))
%19 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([64 x i8], [64 x i8]* @str.64, i64 0, i64 0))
%20 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([80 x i8], [80 x i8]* @str.65, i64 0, i64 0))
%21 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([81 x i8], [81 x i8]* @str.66, i64 0, i64 0))
%22 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([82 x i8], [82 x i8]* @str.67, i64 0, i64 0))
%23 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.68, i64 0, i64 0))
%24 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.69, i64 0, i64 0))
%25 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.70, i64 0, i64 0))
%26 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([79 x i8], [79 x i8]* @str.71, i64 0, i64 0))
%27 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([81 x i8], [81 x i8]* @str.72, i64 0, i64 0))
%28 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([69 x i8], [69 x i8]* @str.73, i64 0, i64 0))
%29 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([77 x i8], [77 x i8]* @str.74, i64 0, i64 0))
%30 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([58 x i8], [58 x i8]* @str.75, i64 0, i64 0))
%31 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([159 x i8], [159 x i8]* @str.76, i64 0, i64 0))
%32 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([88 x i8], [88 x i8]* @str.77, i64 0, i64 0))
%33 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str.78, i64 0, i64 0))
%34 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([61 x i8], [61 x i8]* @str.79, i64 0, i64 0))
%35 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([59 x i8], [59 x i8]* @str.80, i64 0, i64 0))
%36 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([50 x i8], [50 x i8]* @str.81, i64 0, i64 0))
%37 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.82, i64 0, i64 0))
%38 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([70 x i8], [70 x i8]* @str.83, i64 0, i64 0))
%39 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.84, i64 0, i64 0))
%40 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([66 x i8], [66 x i8]* @str.85, i64 0, i64 0))
%41 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([75 x i8], [75 x i8]* @str.86, i64 0, i64 0))
%42 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([76 x i8], [76 x i8]* @str.87, i64 0, i64 0))
%43 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([78 x i8], [78 x i8]* @str.88, i64 0, i64 0))
%44 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([67 x i8], [67 x i8]* @str.89, i64 0, i64 0))
%45 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([74 x i8], [74 x i8]* @str.90, i64 0, i64 0))
%46 = tail call i32 @puts(i8* dereferenceable(1) getelementptr inbounds ([45 x i8], [45 x i8]* @str.91, i64 0, i64 0))
ret void
}