Skip to content
Snippets Groups Projects
Unverified Commit 796fe95b authored by Bensong Liu's avatar Bensong Liu
Browse files

upgrade rlib

parent 51f4fc5b
No related branches found
No related tags found
No related merge requests found
......@@ -8,7 +8,7 @@ ARFLAGS = rcs
PREFIX ?= /usr
def:
@echo Run make install
@echo This library is header-only, and no need to compile. Run make install if you would like.
install_header:
[ ! -d $(PREFIX)/include/rlib ] || rm -rf $(PREFIX)/include/rlib
......
......@@ -9,7 +9,7 @@ phases:
commands:
- g++ --version
- clang++ --version
- icpc --version
# - icpc --version # Intel CC on build machine expired...
build:
commands:
- make
......
......@@ -78,20 +78,6 @@ namespace rlib {
return *pos;
}
}
rlib::string getValueArg(const std::string &longName, const char *shortName)
{ //getValueArg("--long", "-l") may be converted to getValueArg("--long", true).
return getValueArg(longName, shortName, true);
}
bool getBoolArg(const std::string &argName)
{ //Return if it's defined.
auto pos = std::find(args.cbegin(), args.cend(), argName);
if(pos == args.cend()) return false;
args.erase(pos);
return true;
}
rlib::string getValueArg(const std::string &longName, const std::string &shortName, bool required = true, const std::string &def = std::string())
{
using rlib::literals::operator "" _format;
......@@ -108,6 +94,22 @@ namespace rlib {
return std::move(value);
}
rlib::string getValueArg(const std::string &longName, const char *shortName)
{ //getValueArg("--long", "-l") may be converted to getValueArg("--long", true).
return getValueArg(longName, std::string(shortName));
}
rlib::string getValueArg(const std::string& argName, bool required, const char * def) {
return getValueArg(argName, required, std::string(def));
}
bool getBoolArg(const std::string &argName)
{ //Return if it's defined.
auto pos = std::find(args.cbegin(), args.cend(), argName);
if(pos == args.cend()) return false;
args.erase(pos);
return true;
}
bool getBoolArg(const std::string &longName, const std::string &shortName)
{
return getBoolArg(longName) || getBoolArg(shortName);
......
__clang__ CLANG
__ICC __INTEL_COMPILER ICC
# ICC must be placed before GCC
__GNUC__ GCC
__llvm__ LLVM
_MSC_VER MSVC
SDCC SDCC
_ACC_ ACC
__CMB__ ALTIUM_MICROBLAZE
__CHC__ ALTIUM_HARDWARE
......@@ -6,7 +14,6 @@ __CC_ARM ARMCC
AZTEC_C __AZTEC_C__ AZTEC
__BORLANDC__ __CODEGEARC__ BORLAND
__CC65__ CC65
__clang__ CLANG
__COMO__ COMEAU
__DECC __DECCXX COMPAQ
__convexc__ CONVEX
......@@ -18,12 +25,8 @@ _DICE DICE
__DMC__ DIGITAL_MARS
__SYSC__ DIGNUS
__DJGPP__ DJGPP
__ICC __INTEL_COMPILER ICC
# ICC must be placed before: EDG, GCC
__EDG__ EDG
__PATHCC__ EKOPATH
__FCC_VERSION FUJITSU
__GNUC__ GCC
__ghs__ GREENHILL
__HP_cc HPC
__HP_aCC HPACXX
......@@ -35,9 +38,7 @@ __CA__ __KEIL__ KEIL_CARM
__C166__ KEIL_C166
__C51__ __CX51__ KEIL_C51
__LCC__ LCC
__llvm__ LLVM
__MWERKS__ __CWCC__ METROWERKS
_MSC_VER MSVC
_MRI MICROTEC
__NDPC__ __NDPX__ MICROWAY
__sgi sgi MIPSPRO
......@@ -55,7 +56,6 @@ __PGI PORTLAND
__RENESAS__ __HITACHI__ RENESAS
SASC __SASC __SASC__ SASC
_SCO_DS SCO_OPENSERVER
SDCC SDCC
__SNC__ SN
__VOSC__ STRATUS_VOS
__SC__ SYMANTEC
......
// Generated by cc_codegen.py. Do not edit it by hand.
#ifndef RLIB_COMPILER_ID
#if defined(__clang__)
#define RLIB_COMPILER_ID CC_CLANG
#endif
#endif
#define CC_CLANG 90714
#ifndef RLIB_COMPILER_ID
#if defined(__ICC) || defined(__INTEL_COMPILER)
#define RLIB_COMPILER_ID CC_ICC
#endif
#endif
#define CC_ICC 90715
#ifndef RLIB_COMPILER_ID
#if defined(__GNUC__)
#define RLIB_COMPILER_ID CC_GCC
#endif
#endif
#define CC_GCC 90716
#ifndef RLIB_COMPILER_ID
#if defined(__llvm__)
#define RLIB_COMPILER_ID CC_LLVM
#endif
#endif
#define CC_LLVM 90717
#ifndef RLIB_COMPILER_ID
#if defined(_MSC_VER)
#define RLIB_COMPILER_ID CC_MSVC
#endif
#endif
#define CC_MSVC 90718
#ifndef RLIB_COMPILER_ID
#if defined(SDCC)
#define RLIB_COMPILER_ID CC_SDCC
#endif
#endif
#define CC_SDCC 90719
#ifndef RLIB_COMPILER_ID
#if defined(_ACC_)
#define RLIB_COMPILER_ID CC_ACC
#endif
#endif
#define CC_ACC 90714
#define CC_ACC 90720
#ifndef RLIB_COMPILER_ID
#if defined(__CMB__)
#define RLIB_COMPILER_ID CC_ALTIUM_MICROBLAZE
#endif
#endif
#define CC_ALTIUM_MICROBLAZE 90715
#define CC_ALTIUM_MICROBLAZE 90721
#ifndef RLIB_COMPILER_ID
#if defined(__CHC__)
#define RLIB_COMPILER_ID CC_ALTIUM_HARDWARE
#endif
#endif
#define CC_ALTIUM_HARDWARE 90716
#define CC_ALTIUM_HARDWARE 90722
#ifndef RLIB_COMPILER_ID
#if defined(__ACK__)
#define RLIB_COMPILER_ID CC_AMSTERDAM
#endif
#endif
#define CC_AMSTERDAM 90717
#define CC_AMSTERDAM 90723
#ifndef RLIB_COMPILER_ID
#if defined(__CC_ARM)
#define RLIB_COMPILER_ID CC_ARMCC
#endif
#endif
#define CC_ARMCC 90718
#define CC_ARMCC 90724
#ifndef RLIB_COMPILER_ID
#if defined(AZTEC_C) || defined(__AZTEC_C__)
#define RLIB_COMPILER_ID CC_AZTEC
#endif
#endif
#define CC_AZTEC 90719
#define CC_AZTEC 90725
#ifndef RLIB_COMPILER_ID
#if defined(__BORLANDC__) || defined(__CODEGEARC__)
#define RLIB_COMPILER_ID CC_BORLAND
#endif
#endif
#define CC_BORLAND 90720
#define CC_BORLAND 90726
#ifndef RLIB_COMPILER_ID
#if defined(__CC65__)
#define RLIB_COMPILER_ID CC_CC65
#endif
#endif
#define CC_CC65 90721
#ifndef RLIB_COMPILER_ID
#if defined(__clang__)
#define RLIB_COMPILER_ID CC_CLANG
#endif
#endif
#define CC_CLANG 90722
#define CC_CC65 90727
#ifndef RLIB_COMPILER_ID
#if defined(__COMO__)
#define RLIB_COMPILER_ID CC_COMEAU
#endif
#endif
#define CC_COMEAU 90723
#define CC_COMEAU 90728
#ifndef RLIB_COMPILER_ID
#if defined(__DECC) || defined(__DECCXX)
#define RLIB_COMPILER_ID CC_COMPAQ
#endif
#endif
#define CC_COMPAQ 90724
#define CC_COMPAQ 90729
#ifndef RLIB_COMPILER_ID
#if defined(__convexc__)
#define RLIB_COMPILER_ID CC_CONVEX
#endif
#endif
#define CC_CONVEX 90725
#define CC_CONVEX 90730
#ifndef RLIB_COMPILER_ID
#if defined(__COMPCERT__)
#define RLIB_COMPILER_ID CC_COMPCERT
#endif
#endif
#define CC_COMPCERT 90726
#define CC_COMPCERT 90731
#ifndef RLIB_COMPILER_ID
#if defined(__COVERITY__)
#define RLIB_COMPILER_ID CC_COVERITY
#endif
#endif
#define CC_COVERITY 90727
#define CC_COVERITY 90732
#ifndef RLIB_COMPILER_ID
#if defined(_CRAYC)
#define RLIB_COMPILER_ID CC_CRAY
#endif
#endif
#define CC_CRAY 90728
#define CC_CRAY 90733
#ifndef RLIB_COMPILER_ID
#if defined(__DCC__)
#define RLIB_COMPILER_ID CC_DIAB
#endif
#endif
#define CC_DIAB 90729
#define CC_DIAB 90734
#ifndef RLIB_COMPILER_ID
#if defined(_DICE)
#define RLIB_COMPILER_ID CC_DICE
#endif
#endif
#define CC_DICE 90730
#define CC_DICE 90735
#ifndef RLIB_COMPILER_ID
#if defined(__DMC__)
#define RLIB_COMPILER_ID CC_DIGITAL_MARS
#endif
#endif
#define CC_DIGITAL_MARS 90731
#define CC_DIGITAL_MARS 90736
#ifndef RLIB_COMPILER_ID
#if defined(__SYSC__)
#define RLIB_COMPILER_ID CC_DIGNUS
#endif
#endif
#define CC_DIGNUS 90732
#define CC_DIGNUS 90737
#ifndef RLIB_COMPILER_ID
#if defined(__DJGPP__)
#define RLIB_COMPILER_ID CC_DJGPP
#endif
#endif
#define CC_DJGPP 90733
#ifndef RLIB_COMPILER_ID
#if defined(__ICC) || defined(__INTEL_COMPILER)
#define RLIB_COMPILER_ID CC_ICC
#endif
#endif
#define CC_ICC 90734
#ifndef RLIB_COMPILER_ID
#if defined(__EDG__)
#define RLIB_COMPILER_ID CC_EDG
#endif
#endif
#define CC_EDG 90735
#define CC_DJGPP 90738
#ifndef RLIB_COMPILER_ID
#if defined(__PATHCC__)
#define RLIB_COMPILER_ID CC_EKOPATH
#endif
#endif
#define CC_EKOPATH 90736
#define CC_EKOPATH 90739
#ifndef RLIB_COMPILER_ID
#if defined(__FCC_VERSION)
#define RLIB_COMPILER_ID CC_FUJITSU
#endif
#endif
#define CC_FUJITSU 90737
#ifndef RLIB_COMPILER_ID
#if defined(__GNUC__)
#define RLIB_COMPILER_ID CC_GCC
#endif
#endif
#define CC_GCC 90738
#define CC_FUJITSU 90740
#ifndef RLIB_COMPILER_ID
#if defined(__ghs__)
#define RLIB_COMPILER_ID CC_GREENHILL
#endif
#endif
#define CC_GREENHILL 90739
#define CC_GREENHILL 90741
#ifndef RLIB_COMPILER_ID
#if defined(__HP_cc)
#define RLIB_COMPILER_ID CC_HPC
#endif
#endif
#define CC_HPC 90740
#define CC_HPC 90742
#ifndef RLIB_COMPILER_ID
#if defined(__HP_aCC)
#define RLIB_COMPILER_ID CC_HPACXX
#endif
#endif
#define CC_HPACXX 90741
#define CC_HPACXX 90743
#ifndef RLIB_COMPILER_ID
#if defined(__IAR_SYSTEMS_ICC__)
#define RLIB_COMPILER_ID CC_IARC
#endif
#endif
#define CC_IARC 90742
#define CC_IARC 90744
#ifndef RLIB_COMPILER_ID
#if defined(__IBMCPP__) || defined(__IBMC__)
#define RLIB_COMPILER_ID CC_IBMC
#endif
#endif
#define CC_IBMC 90743
#define CC_IBMC 90745
#ifndef RLIB_COMPILER_ID
#if defined(__IMAGECRAFT__)
#define RLIB_COMPILER_ID CC_IMAGECRAFT
#endif
#endif
#define CC_IMAGECRAFT 90744
#define CC_IMAGECRAFT 90746
#ifndef RLIB_COMPILER_ID
#if defined(__KCC)
#define RLIB_COMPILER_ID CC_KAICXX
#endif
#endif
#define CC_KAICXX 90745
#define CC_KAICXX 90747
#ifndef RLIB_COMPILER_ID
#if defined(__CA__) || defined(__KEIL__)
#define RLIB_COMPILER_ID CC_KEIL_CARM
#endif
#endif
#define CC_KEIL_CARM 90746
#define CC_KEIL_CARM 90748
#ifndef RLIB_COMPILER_ID
#if defined(__C166__)
#define RLIB_COMPILER_ID CC_KEIL_C166
#endif
#endif
#define CC_KEIL_C166 90747
#define CC_KEIL_C166 90749
#ifndef RLIB_COMPILER_ID
#if defined(__C51__) || defined(__CX51__)
#define RLIB_COMPILER_ID CC_KEIL_C51
#endif
#endif
#define CC_KEIL_C51 90748
#define CC_KEIL_C51 90750
#ifndef RLIB_COMPILER_ID
#if defined(__LCC__)
#define RLIB_COMPILER_ID CC_LCC
#endif
#endif
#define CC_LCC 90749
#ifndef RLIB_COMPILER_ID
#if defined(__llvm__)
#define RLIB_COMPILER_ID CC_LLVM
#endif
#endif
#define CC_LLVM 90750
#define CC_LCC 90751
#ifndef RLIB_COMPILER_ID
#if defined(__MWERKS__) || defined(__CWCC__)
#define RLIB_COMPILER_ID CC_METROWERKS
#endif
#endif
#define CC_METROWERKS 90751
#ifndef RLIB_COMPILER_ID
#if defined(_MSC_VER)
#define RLIB_COMPILER_ID CC_MSVC
#endif
#endif
#define CC_MSVC 90752
#define CC_METROWERKS 90752
#ifndef RLIB_COMPILER_ID
#if defined(_MRI)
......@@ -391,105 +391,98 @@
#endif
#define CC_SCO_OPENSERVER 90769
#ifndef RLIB_COMPILER_ID
#if defined(SDCC)
#define RLIB_COMPILER_ID CC_SDCC
#endif
#endif
#define CC_SDCC 90770
#ifndef RLIB_COMPILER_ID
#if defined(__SNC__)
#define RLIB_COMPILER_ID CC_SN
#endif
#endif
#define CC_SN 90771
#define CC_SN 90770
#ifndef RLIB_COMPILER_ID
#if defined(__VOSC__)
#define RLIB_COMPILER_ID CC_STRATUS_VOS
#endif
#endif
#define CC_STRATUS_VOS 90772
#define CC_STRATUS_VOS 90771
#ifndef RLIB_COMPILER_ID
#if defined(__SC__)
#define RLIB_COMPILER_ID CC_SYMANTEC
#endif
#endif
#define CC_SYMANTEC 90773
#define CC_SYMANTEC 90772
#ifndef RLIB_COMPILER_ID
#if defined(__TenDRA__)
#define RLIB_COMPILER_ID CC_TENDRA
#endif
#endif
#define CC_TENDRA 90774
#define CC_TENDRA 90773
#ifndef RLIB_COMPILER_ID
#if defined(__TI_COMPILER_VERSION__) || defined(_TMS320C6X)
#define RLIB_COMPILER_ID CC_TEXAS
#endif
#endif
#define CC_TEXAS 90775
#define CC_TEXAS 90774
#ifndef RLIB_COMPILER_ID
#if defined(THINKC3) || defined(THINKC4)
#define RLIB_COMPILER_ID CC_THINK
#endif
#endif
#define CC_THINK 90776
#define CC_THINK 90775
#ifndef RLIB_COMPILER_ID
#if defined(__TINYC__)
#define RLIB_COMPILER_ID CC_TINYC
#endif
#endif
#define CC_TINYC 90777
#define CC_TINYC 90776
#ifndef RLIB_COMPILER_ID
#if defined(__TURBOC__)
#define RLIB_COMPILER_ID CC_TURBOC
#endif
#endif
#define CC_TURBOC 90778
#define CC_TURBOC 90777
#ifndef RLIB_COMPILER_ID
#if defined(_UCC)
#define RLIB_COMPILER_ID CC_UCC
#endif
#endif
#define CC_UCC 90779
#define CC_UCC 90778
#ifndef RLIB_COMPILER_ID
#if defined(__USLC__)
#define RLIB_COMPILER_ID CC_USLC
#endif
#endif
#define CC_USLC 90780
#define CC_USLC 90779
#ifndef RLIB_COMPILER_ID
#if defined(__VBCC__)
#define RLIB_COMPILER_ID CC_VBCC
#endif
#endif
#define CC_VBCC 90781
#define CC_VBCC 90780
#ifndef RLIB_COMPILER_ID
#if defined(__WATCOMC__)
#define RLIB_COMPILER_ID CC_WATCOM
#endif
#endif
#define CC_WATCOM 90782
#define CC_WATCOM 90781
#ifndef RLIB_COMPILER_ID
#if defined(__ZTC__)
#define RLIB_COMPILER_ID CC_ZORTECH
#endif
#endif
#define CC_ZORTECH 90783
#define CC_ZORTECH 90782
#ifndef RLIB_COMPILER_ID
#define RLIB_COMPILER_ID CC_UNKNOWN
#endif
#define CC_UNKNOWN 90784
#define CC_UNKNOWN 90783
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment