replaced getopt_long of glibc with LLVM CommandLine library