Skip to content

Commit

Permalink
Upgrade to acr-1.8.1 to get semver support ##core (radareorg#15816)
Browse files Browse the repository at this point in the history
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
  • Loading branch information
radare committed Jan 17, 2020
1 parent 0d701a3 commit 45eb005
Show file tree
Hide file tree
Showing 6 changed files with 64 additions and 13 deletions.
6 changes: 5 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,11 @@ libr/include/r_version.h:
@echo $(Q)#ifndef R_VERSION_H$(Q) > [email protected]
@echo $(Q)#define R_VERSION_H 1$(Q) >> [email protected]
@echo $(Q)#define R2_VERSION_COMMIT $(R2VC)$(Q) >> [email protected]
@echo $(Q)#define R2_VERSION $(ESC)"$(R2_VER)$(ESC)"$(Q) >> [email protected]
@echo $(Q)#define R2_VERSION $(ESC)"$(R2_VERSION)$(ESC)"$(Q) >> [email protected]
@echo $(Q)#define R2_VERSION_MAJOR $(R2_VERSION_MAJOR)$(Q) >> [email protected]
@echo $(Q)#define R2_VERSION_MINOR $(R2_VERSION_MINOR)$(Q) >> [email protected]
@echo $(Q)#define R2_VERSION_PATCH $(R2_VERSION_PATCH)$(Q) >> [email protected]
@echo $(Q)#define R2_VERSION_NUMBER $(R2_VERSION_NUMBER)$(Q) >> [email protected]
@echo $(Q)#define R2_GITTAP $(ESC)"$(GIT_TAP)$(ESC)"$(Q) >> [email protected]
@echo $(Q)#define R2_GITTIP $(ESC)"$(GIT_TIP)$(ESC)"$(Q) >> [email protected]
@echo $(Q)#define R2_BIRTH $(ESC)"$(GIT_NOW)$(BUILDSEC)$(ESC)"$(Q) >> [email protected]
Expand Down
5 changes: 5 additions & 0 deletions config-user.mk.acr
Original file line number Diff line number Diff line change
Expand Up @@ -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?
Expand Down
23 changes: 14 additions & 9 deletions configure
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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="[email protected]" ; CONTACT_NAME="pancake" ; CONTACT="pancake <[email protected]>" ;
PKGNAME='radare2' ; VERSION='4.2.0-git' ; VERSION_MAJOR=4; VERSION_MINOR=2; VERSION_PATCH=0; VERSION_NUMBER=40200; CONTACT_MAIL="[email protected]" ; CONTACT_NAME="pancake" ; CONTACT="pancake <[email protected]>" ;
}

show_usage() {
Expand Down Expand Up @@ -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
Expand All @@ -188,17 +189,21 @@ 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
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
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 <[email protected]>"
CPP C preprocessor
"
printf "
Report bugs to: pancake <[email protected]>"
echo ""
exit 0
}
Expand All @@ -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
Expand Down Expand Up @@ -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

Expand Down
4 changes: 4 additions & 0 deletions libr/include/r_version.h.in
Original file line number Diff line number Diff line change
@@ -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@"
Expand Down
17 changes: 15 additions & 2 deletions meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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)
Expand Down
22 changes: 21 additions & 1 deletion sys/version.py
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -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')

0 comments on commit 45eb005

Please sign in to comment.