Upgrade to acr-1.8.1 to get semver support ##core (#15816)
Move all version defines into r_version.h and handle it from meson too - R2_VERSION_MAJOR - R2_VERSION_MINOR - R2_VERSION_PATCH - R2_VERSION_NUMBER
This commit is contained in:
parent
0d701a3b79
commit
45eb0052b1
6 changed files with 64 additions and 13 deletions
6
Makefile
6
Makefile
|
|
@ -75,7 +75,11 @@ libr/include/r_version.h:
|
|||
@echo $(Q)#ifndef R_VERSION_H$(Q) > $@.tmp
|
||||
@echo $(Q)#define R_VERSION_H 1$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_VERSION_COMMIT $(R2VC)$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_VERSION $(ESC)"$(R2_VER)$(ESC)"$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_VERSION $(ESC)"$(R2_VERSION)$(ESC)"$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_VERSION_MAJOR $(R2_VERSION_MAJOR)$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_VERSION_MINOR $(R2_VERSION_MINOR)$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_VERSION_PATCH $(R2_VERSION_PATCH)$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_VERSION_NUMBER $(R2_VERSION_NUMBER)$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_GITTAP $(ESC)"$(GIT_TAP)$(ESC)"$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_GITTIP $(ESC)"$(GIT_TIP)$(ESC)"$(Q) >> $@.tmp
|
||||
@echo $(Q)#define R2_BIRTH $(ESC)"$(GIT_NOW)$(BUILDSEC)$(ESC)"$(Q) >> $@.tmp
|
||||
|
|
|
|||
|
|
@ -34,6 +34,11 @@ INSTALL_MAN=@INSTALL_MAN@
|
|||
INSTALL_LIB=@INSTALL_LIB@
|
||||
|
||||
VERSION=@VERSION@
|
||||
R2_VERSION=@VERSION@
|
||||
R2_VERSION_MAJOR=@VERSION_MAJOR@
|
||||
R2_VERSION_MINOR=@VERSION_MINOR@
|
||||
R2_VERSION_PATCH=@VERSION_PATCH@
|
||||
R2_VERSION_NUMBER=@VERSION_NUMBER@
|
||||
LIBVERSION=@LIBVERSION@
|
||||
|
||||
# ./configure --with-ostype=[linux,osx,solaris,windows] # TODO: rename to w32, w64?
|
||||
|
|
|
|||
23
configure
vendored
23
configure
vendored
|
|
@ -1,5 +1,5 @@
|
|||
#!/bin/sh
|
||||
# This script was automatically generated by ACR v1.7.2
|
||||
# This script was automatically generated by ACR v1.8.1
|
||||
# @author: pancake <nopcode.org>
|
||||
# @url: http://www.nopcode.org
|
||||
# @repo: git clone https://github.com/radare/acr
|
||||
|
|
@ -123,7 +123,7 @@ done
|
|||
: ${INSTALL_PROGRAM_STRIP:=${INSTALL} -m 755 -s}
|
||||
: ${INSTALL_MAN:=${INSTALL} -m 444}
|
||||
: ${INSTALL_LIB:=${INSTALL} -m 755 -c}
|
||||
PKGNAME='radare2' ; VERSION='4.2.0-git' ; CONTACT_MAIL="pancake@nopcode.org" ; CONTACT_NAME="pancake" ; CONTACT="pancake <pancake@nopcode.org>" ;
|
||||
PKGNAME='radare2' ; VERSION='4.2.0-git' ; VERSION_MAJOR=4; VERSION_MINOR=2; VERSION_PATCH=0; VERSION_NUMBER=40200; CONTACT_MAIL="pancake@nopcode.org" ; CONTACT_NAME="pancake" ; CONTACT="pancake <pancake@nopcode.org>" ;
|
||||
}
|
||||
|
||||
show_usage() {
|
||||
|
|
@ -168,7 +168,8 @@ System types:
|
|||
--target=TARGET configure for building compilers for TARGET [HOST]
|
||||
EOF2
|
||||
|
||||
printf "\nOptional Features:
|
||||
printf "
|
||||
Optional Features:
|
||||
--disable-debugger disable native debugger features
|
||||
--with-sysmagic force to use system's magic
|
||||
--with-capstone5 build next branch of the capstone repository
|
||||
|
|
@ -188,8 +189,10 @@ printf "\nOptional Features:
|
|||
--with-ostype Choose OS type ( gnulinux windows darwin haiku ) (USEROSTYPE=auto)
|
||||
--with-libversion specify different libversion (LIBVERSION=xxx)
|
||||
--without-jemalloc build without jemalloc
|
||||
--with-checks-level value between 0 and 3 to enable different level of assert (see R_CHECKS_LEVEL) (R_CHECKS_LEVEL=2)\n"
|
||||
printf "\nSome influential environment variables:
|
||||
--with-checks-level value between 0 and 3 to enable different level of assert (see R_CHECKS_LEVEL) (R_CHECKS_LEVEL=2)
|
||||
"
|
||||
printf "
|
||||
Some influential environment variables:
|
||||
CC C compiler command
|
||||
CFLAGS C compiler flags
|
||||
CPPFLAGS C preprocessor flags
|
||||
|
|
@ -197,8 +200,10 @@ printf "\nSome influential environment variables:
|
|||
nonstandard directory <lib dir>
|
||||
CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have
|
||||
headers in a nonstandard directory <include dir>
|
||||
CPP C preprocessor\n"
|
||||
printf "\nReport bugs to: pancake <pancake@nopcode.org>"
|
||||
CPP C preprocessor
|
||||
"
|
||||
printf "
|
||||
Report bugs to: pancake <pancake@nopcode.org>"
|
||||
echo ""
|
||||
exit 0
|
||||
}
|
||||
|
|
@ -211,7 +216,7 @@ take_environ() {
|
|||
}
|
||||
|
||||
show_version() {
|
||||
echo "radare2-4.2.0-git configuration script done with acr v1.7.2.
|
||||
echo "radare2-4.2.0-git configuration script done with acr v1.8.1.
|
||||
The 'Free Software Foundation' message is only for autodetection.
|
||||
Originally written by pancake <nopcode.org>."
|
||||
exit 0
|
||||
|
|
@ -323,7 +328,7 @@ parse_options "$1"
|
|||
shift
|
||||
done
|
||||
|
||||
ENVWORDS="MANDIR INFODIR LIBDIR INCLUDEDIR LOCALSTATEDIR SYSCONFDIR DATADIR DOCDIR LIBEXECDIR SBINDIR BINDIR EPREFIX PREFIX SPREFIX TARGET HOST BUILD INSTALL INSTALL_LIB INSTALL_MAN INSTALL_PROGRAM INSTALL_PROGRAM_STRIP INSTALL_DIR INSTALL_SCRIPT INSTALL_DATA HOST_OS HOST_CPU BUILD_OS BUILD_CPU TARGET_OS TARGET_CPU PKGNAME VPATH VERSION CONTACT CONTACT_NAME CONTACT_MAIL CC CFLAGS CPPFLAGS LDFLAGS HAVE_LANG_C DEBUGGER HAVE_LIB_DL DL_LIBS HAVE_PATCH PATCH HAVE_GIT GIT HAVE_LIB_MAGIC USE_MAGIC USE_LIB_MAGIC LIBMAGIC CSNEXT LOADLIBS USE_TREESITTER HAVE_FORK WANT_PTRACE_WRAP WITH_LIBR WITH_CAPSTONE CAPSTONE_CFLAGS CAPSTONE_LDFLAGS HAVE_PKGCFG_CAPSTONE USE_CAPSTONE HAVE_LIB_Z HAVE_LIB_ZIP USE_ZIP USE_LIB_ZIP LIBZIP HAVE_LIB_XXHASH USE_XXHASH USE_LIB_XXHASH LIBXXHASH WITH_GPL HAVE_DECL_ADDR_NO_RANDOMIZE HAVE_ARC4RANDOM_UNIFORM HAVE_EXPLICIT_BZERO HAVE_EXPLICIT_MEMSET HAVE_CLOCK_NANOSLEEP HAVE_SIGACTION HAVE_LIB_GMP HAVE_LIB_SSL SSL_CFLAGS SSL_LDFLAGS HAVE_PKGCFG_OPENSSL HAVE_OPENSSL WANT_OPENSSL HAVE_LIBUV_VERSION_1_0_0 LIBUV_CFLAGS LIBUV_LDFLAGS HAVE_PKGCFG_LIBUV HAVE_LIBUV WANT_LIBUV USE_RPATH USERCC USEROSTYPE LIBVERSION HAVE_JEMALLOC HAVE_PTRACE USE_PTRACE_WRAP R_CHECKS_LEVEL"
|
||||
ENVWORDS="MANDIR INFODIR LIBDIR INCLUDEDIR LOCALSTATEDIR SYSCONFDIR DATADIR DOCDIR LIBEXECDIR SBINDIR BINDIR EPREFIX PREFIX SPREFIX TARGET HOST BUILD INSTALL INSTALL_LIB INSTALL_MAN INSTALL_PROGRAM INSTALL_PROGRAM_STRIP INSTALL_DIR INSTALL_SCRIPT INSTALL_DATA HOST_OS HOST_CPU BUILD_OS BUILD_CPU TARGET_OS TARGET_CPU VERSION VERSION_MAJOR VERSION_MINOR VERSION_PATCH VERSION_NUMBER PKGNAME VPATH CONTACT CONTACT_NAME CONTACT_MAIL CC CFLAGS CPPFLAGS LDFLAGS HAVE_LANG_C DEBUGGER HAVE_LIB_DL DL_LIBS HAVE_PATCH PATCH HAVE_GIT GIT HAVE_LIB_MAGIC USE_MAGIC USE_LIB_MAGIC LIBMAGIC CSNEXT LOADLIBS USE_TREESITTER HAVE_FORK WANT_PTRACE_WRAP WITH_LIBR WITH_CAPSTONE CAPSTONE_CFLAGS CAPSTONE_LDFLAGS HAVE_PKGCFG_CAPSTONE USE_CAPSTONE HAVE_LIB_Z HAVE_LIB_ZIP USE_ZIP USE_LIB_ZIP LIBZIP HAVE_LIB_XXHASH USE_XXHASH USE_LIB_XXHASH LIBXXHASH WITH_GPL HAVE_DECL_ADDR_NO_RANDOMIZE HAVE_ARC4RANDOM_UNIFORM HAVE_EXPLICIT_BZERO HAVE_EXPLICIT_MEMSET HAVE_CLOCK_NANOSLEEP HAVE_SIGACTION HAVE_LIB_GMP HAVE_LIB_SSL SSL_CFLAGS SSL_LDFLAGS HAVE_PKGCFG_OPENSSL HAVE_OPENSSL WANT_OPENSSL HAVE_LIBUV_VERSION_1_0_0 LIBUV_CFLAGS LIBUV_LDFLAGS HAVE_PKGCFG_LIBUV HAVE_LIBUV WANT_LIBUV USE_RPATH USERCC USEROSTYPE LIBVERSION HAVE_JEMALLOC HAVE_PTRACE USE_PTRACE_WRAP R_CHECKS_LEVEL"
|
||||
|
||||
create_environ
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,10 @@
|
|||
#ifndef R_VERSION_H
|
||||
#define R_VERSION_H 1
|
||||
#define R_MESON_VERSION "@MESON_VERSION@"
|
||||
#define R2_VERSION_MAJOR @R2_VERSION_MAJOR@
|
||||
#define R2_VERSION_MINOR @R2_VERSION_MINOR@
|
||||
#define R2_VERSION_PATCH @R2_VERSION_PATCH@
|
||||
#define R2_VERSION_NUMBER @R2_VERSION_NUMBER@
|
||||
#define R2_VERSION_COMMIT @VERSIONCOMMIT@
|
||||
#define R2_VERSION "@R2_VERSION@"
|
||||
#define R2_GITTAP "@R2_GITTAP@"
|
||||
|
|
|
|||
17
meson.build
17
meson.build
|
|
@ -6,9 +6,18 @@ pkgconfig_mod = import('pkgconfig')
|
|||
|
||||
# Get r2 version
|
||||
r2_version = 'unknown-error'
|
||||
r = run_command(py3_exe, 'sys/version.py')
|
||||
r2_version_major = 0
|
||||
r2_version_minor = 0
|
||||
r2_version_patch = 0
|
||||
r2_version_number = 0
|
||||
r = run_command(py3_exe, 'sys/version.py', '--full-version')
|
||||
if r.returncode() == 0
|
||||
r2_version = r.stdout().strip()
|
||||
vers = r.stdout().strip().split('\n')
|
||||
r2_version = vers[0]
|
||||
r2_version_major = vers[1]
|
||||
r2_version_minor = vers[2]
|
||||
r2_version_patch = vers[3]
|
||||
r2_version_number = vers[4]
|
||||
if host_machine.system() == 'darwin'
|
||||
r2_version = r2_version.split('-')[0]
|
||||
endif
|
||||
|
|
@ -360,6 +369,10 @@ r_userconf_h = configure_file(
|
|||
versionconf = configuration_data()
|
||||
versionconf.set('MESON_VERSION', meson.version())
|
||||
versionconf.set('VERSIONCOMMIT', version_commit)
|
||||
versionconf.set('R2_VERSION_MAJOR', r2_version_major)
|
||||
versionconf.set('R2_VERSION_MINOR', r2_version_minor)
|
||||
versionconf.set('R2_VERSION_PATCH', r2_version_patch)
|
||||
versionconf.set('R2_VERSION_NUMBER', r2_version_number)
|
||||
versionconf.set('R2_VERSION', r2_version)
|
||||
versionconf.set('R2_GITTAP', gittap)
|
||||
versionconf.set('R2_GITTIP', gittip)
|
||||
|
|
|
|||
22
sys/version.py
Normal file → Executable file
22
sys/version.py
Normal file → Executable file
|
|
@ -4,6 +4,26 @@
|
|||
|
||||
import sys
|
||||
|
||||
full_version = False
|
||||
|
||||
for arg in sys.argv[1:]:
|
||||
if arg == '--full-version':
|
||||
full_version = True
|
||||
else:
|
||||
print('Option %s not supported' % (arg,))
|
||||
sys.exit(1)
|
||||
|
||||
with open('configure.acr', 'r') as f:
|
||||
f.readline()
|
||||
sys.stdout.write(f.readline().split()[1])
|
||||
version = f.readline().split()[1]
|
||||
sys.stdout.write(version + '\n')
|
||||
if full_version:
|
||||
versions = version.split('.')
|
||||
version_major = versions[0] if len(versions) > 0 else 0
|
||||
version_minor = versions[1] if len(versions) > 1 else 0
|
||||
version_patch = versions[2].replace('-git', '') if len(versions) > 2 else 0
|
||||
version_number = "%d%02d%02d"%(int(version_major), int(version_minor), int(version_patch))
|
||||
sys.stdout.write(version_major + '\n')
|
||||
sys.stdout.write(version_minor + '\n')
|
||||
sys.stdout.write(version_patch + '\n')
|
||||
sys.stdout.write(version_number + '\n')
|
||||
|
|
|
|||
Loading…
Reference in a new issue