mirror of
https://github.com/radareorg/radare2.git
synced 2024-10-08 11:23:27 +00:00
Refactored meson scripts (#9143)
This commit is contained in:
parent
f32cc2777a
commit
2b0c9d1a17
@ -27,12 +27,10 @@ environment:
|
||||
- builder: vs2015_64
|
||||
PYTHON: 'C:\\Python36-x64'
|
||||
BUILD_DIR: build
|
||||
NINJA_URL: https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip
|
||||
# VS2015 32
|
||||
- builder: vs2015_32
|
||||
PYTHON: 'C:\\Python36'
|
||||
BUILD_DIR: build
|
||||
NINJA_URL: https://github.com/ninja-build/ninja/releases/download/v1.7.2/ninja-win.zip
|
||||
# VS2015 64 (Dynamic linking)
|
||||
- builder: vs2015_64_dyn
|
||||
PYTHON: 'C:\\Python36'
|
||||
@ -65,7 +63,7 @@ install:
|
||||
- ps: $env:DIST_FOLDER = "radare2-$env:builder-$env:R2_VERSION"
|
||||
- ps: $env:ARTIFACT_ZIP = "$env:DIST_FOLDER.zip"
|
||||
# Download required packages
|
||||
- cmd: if defined BUILD_DIR ( %PYTHON%\python.exe -m pip install meson && COPY %PYTHON%\Scripts\meson.py meson.py )
|
||||
- cmd: if defined BUILD_DIR ( %PYTHON%\python.exe -m pip install meson )
|
||||
- cmd: if defined NINJA_URL ( powershell -Command wget %NINJA_URL% -OutFile ninja.zip && unzip ninja.zip )
|
||||
|
||||
# Build scripts
|
||||
@ -73,11 +71,11 @@ build_script:
|
||||
- appveyor AddMessage "Compiling radare2 %R2_VERSION% (%builder%)"
|
||||
- if %builder% == msvc_cccl_64 ( sys\msvc.bat && make windist WINBITS=%builder% )
|
||||
|
||||
- cmd: if %builder% == vs2015_64 ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && python sys\meson.py --backend vs2015 --release --xp --prefix="%CD%" && sys\meson_install.bat --msbuild %DIST_FOLDER% && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
||||
- cmd: if %builder% == vs2015_64 ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && python sys\meson.py --backend vs2015 --release --xp --prefix="%CD%" --install="%DIST_FOLDER%" && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
||||
|
||||
- cmd: if %builder% == vs2015_32 ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 && python sys\meson.py --backend vs2015 --release --xp --prefix="%CD%" && sys\meson_install.bat --msbuild %DIST_FOLDER% && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
||||
- cmd: if %builder% == vs2015_32 ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 && python sys\meson.py --backend vs2015 --release --xp --prefix="%CD%" --install="%DIST_FOLDER%" && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
||||
|
||||
- cmd: if %builder% == vs2015_64_dyn ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && python sys\meson.py --release --shared --prefix="%CD%" && sys\meson_install.bat %DIST_FOLDER% && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
||||
- cmd: if %builder% == vs2015_64_dyn ( set "PATH=C:\mingw\bin;C:\mingw\msys\1.0\bin;%PYTHON%;%PATH%" && call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 && python sys\meson.py --release --shared --prefix="%CD%" --install="%DIST_FOLDER%" && zip -r %ARTIFACT_ZIP% %DIST_FOLDER% )
|
||||
|
||||
- cmd: if %builder% == mingw32 ( set "PATH=%EXP_PATH%;%PATH%" && sh -c "CC=mingw32-gcc-5.3.0 ./configure --with-ostype=mingw32 && make" && sh -c "make windist WINBITS=%builder% ZIPNAME=%ARTIFACT_ZIP%" )
|
||||
|
||||
|
194
sys/meson.py
194
sys/meson.py
@ -1,42 +1,34 @@
|
||||
## Meson build for radare2
|
||||
|
||||
import argparse
|
||||
import glob
|
||||
import inspect
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
ROOT = None
|
||||
from mesonbuild import mesonmain
|
||||
|
||||
BUILDDIR = 'build'
|
||||
SDB_BUILDDIR = 'build_sdb'
|
||||
SDB = os.path.join(SDB_BUILDDIR, 'sdb')
|
||||
|
||||
BACKENDS = ['ninja', 'vs2015', 'vs2017']
|
||||
BLACKLIST = ['Makefile', 'makefile']
|
||||
EXTENSIONS = ['sdb.txt']
|
||||
MESON = None
|
||||
PYTHON = None
|
||||
BACKENDS = ['ninja', 'vs2015', 'vs2017']
|
||||
|
||||
PATH_FMT = {}
|
||||
|
||||
ROOT = None
|
||||
log = None
|
||||
|
||||
def setGlobalVariables():
|
||||
""" Set global variables """
|
||||
global log
|
||||
global ROOT
|
||||
global MESON
|
||||
global PYTHON
|
||||
|
||||
if os.name == 'posix':
|
||||
cmd = 'which meson'
|
||||
else:
|
||||
cmd = 'where meson.py'
|
||||
MESON = os.popen(cmd).read().split('\n')[0]
|
||||
#if os.name == 'nt' and ' ' in MESON:
|
||||
# MESON = '"{}"'.format(MESON)
|
||||
|
||||
PYTHON = sys.executable
|
||||
#if os.name == 'nt' and ' ' in PYTHON:
|
||||
# PYTHON = '"{}"'.format(PYTHON)
|
||||
|
||||
ROOT = os.path.abspath(inspect.getfile(inspect.currentframe()) +
|
||||
os.path.join(os.path.pardir, os.path.pardir, os.path.pardir))
|
||||
@ -46,11 +38,11 @@ def setGlobalVariables():
|
||||
logging.basicConfig(format='[Meson][%(levelname)s]: %(message)s',
|
||||
level=logging.DEBUG)
|
||||
log = logging.getLogger('r2-meson')
|
||||
log.debug('Root:{} Meson:{} Python:{}'.format(ROOT, MESON, PYTHON))
|
||||
log.debug('Root:{}'.format(ROOT))
|
||||
|
||||
def meson(root, build, prefix=None, backend=None, release=False, shared=False):
|
||||
""" Start meson build (i.e. python meson.py ./ build) """
|
||||
command = [PYTHON, MESON, root, build]
|
||||
command = [root, build]
|
||||
if prefix:
|
||||
command += ['--prefix={}'.format(prefix)]
|
||||
if backend:
|
||||
@ -63,20 +55,59 @@ def meson(root, build, prefix=None, backend=None, release=False, shared=False):
|
||||
command += ['--default-library', 'static']
|
||||
|
||||
log.debug('Invoking meson: {}'.format(command))
|
||||
ret = subprocess.call(command)
|
||||
launcher = os.path.join(ROOT, 'sys', 'meson.py')
|
||||
meson_run(command, launcher)
|
||||
|
||||
def meson_run(args, launcher):
|
||||
ret = mesonmain.run(args, launcher)
|
||||
if ret != 0:
|
||||
log.error('Meson error. Exiting.')
|
||||
sys.exit(1)
|
||||
|
||||
def ninja(folder):
|
||||
def ninja(folder, install=False):
|
||||
""" Start ninja build (i.e. ninja -C build) """
|
||||
command = ['ninja', '-C', os.path.join(ROOT, folder)]
|
||||
if install: command.append('install')
|
||||
log.debug('Invoking ninja: {}'.format(command))
|
||||
ret = subprocess.call(command)
|
||||
if ret != 0:
|
||||
log.error('Ninja error. Exiting.')
|
||||
sys.exit(1)
|
||||
|
||||
def msbuild(project):
|
||||
log.info('Starting msbuild %s' % project)
|
||||
ret = subprocess.call(['msbuild', project])
|
||||
if ret != 0:
|
||||
log.error('MSbuild error. Exiting.')
|
||||
sys.exit(1)
|
||||
|
||||
def copytree(src, dst):
|
||||
src = src.format(**PATH_FMT)
|
||||
dst = dst.format(**PATH_FMT)
|
||||
log.debug('copytree "%s" -> "%s"' % (src, dst))
|
||||
shutil.copytree(src, dst)
|
||||
|
||||
def move(src, dst):
|
||||
src = src.format(**PATH_FMT)
|
||||
dst = dst.format(**PATH_FMT)
|
||||
term = os.path.sep if os.path.isdir(dst) else ''
|
||||
log.debug('move "%s" -> "%s%s"' % (src, dst, term))
|
||||
for file in glob.iglob(src):
|
||||
shutil.move(file, dst)
|
||||
|
||||
def copy(src, dst):
|
||||
src = src.format(**PATH_FMT)
|
||||
dst = dst.format(**PATH_FMT)
|
||||
term = os.path.sep if os.path.isdir(dst) else ''
|
||||
log.debug('copy "%s" -> "%s%s"' % (src, dst, term))
|
||||
for file in glob.iglob(src):
|
||||
shutil.copy2(file, dst)
|
||||
|
||||
def makedirs(path):
|
||||
path = path.format(**PATH_FMT)
|
||||
log.debug('makedirs "%s"' % path)
|
||||
os.makedirs(path)
|
||||
|
||||
def convert_sdb(folder, f):
|
||||
""" Convert f to sdb format """
|
||||
base, _ = get_base_extension(f)
|
||||
@ -107,11 +138,17 @@ def handle_folder(folder):
|
||||
convert_sdb(folder, f)
|
||||
|
||||
def xp_compat(builddir):
|
||||
log.info('Running XP compat script')
|
||||
|
||||
with open(os.path.join(builddir, 'REGEN.vcxproj'), 'r') as f:
|
||||
version = re.search('<PlatformToolset>(.*)</PlatformToolset>', f.read()).group(1)
|
||||
|
||||
if version.endswith('_xp'):
|
||||
log.debug('Skipping %s\\*.vcxproj' % builddir)
|
||||
return
|
||||
|
||||
log.debug('Translating from %s to %s_xp' % (version, version))
|
||||
newversion=version+'_xp'
|
||||
newversion = version+'_xp'
|
||||
|
||||
for root, dirs, files in os.walk(builddir):
|
||||
for f in files:
|
||||
@ -123,13 +160,79 @@ def xp_compat(builddir):
|
||||
proj.write(c)
|
||||
log.debug("%s .. OK" % f)
|
||||
|
||||
def win_install(args):
|
||||
global PATH_FMT
|
||||
|
||||
with open(os.path.join(ROOT, 'configure.acr')) as f:
|
||||
f.readline()
|
||||
version = f.readline().split(' ')[1].rstrip()
|
||||
|
||||
PATH_FMT['ROOT'] = ROOT
|
||||
PATH_FMT['DIST'] = args.install
|
||||
PATH_FMT['BIN'] = os.path.join(args.prefix, 'bin')
|
||||
PATH_FMT['LIB'] = os.path.join(args.prefix, 'lib')
|
||||
PATH_FMT['BUILDDIR'] = os.path.join(ROOT, args.dir)
|
||||
PATH_FMT['R2_VERSION'] = version
|
||||
|
||||
if args.backend == 'ninja':
|
||||
ninja(args.dir, install=True)
|
||||
else:
|
||||
for d in (r'{BIN}', r'{LIB}'):
|
||||
d = d.format(**PATH_FMT)
|
||||
if os.path.exists(d):
|
||||
shutil.rmtree(d)
|
||||
os.makedirs(d)
|
||||
copy(r'{BUILDDIR}\binr\**\*.exe', r'{BIN}')
|
||||
copy(r'{BUILDDIR}\libr\**\*.dll', r'{BIN}')
|
||||
copy(r'{BUILDDIR}\libr\**\*.lib', r'{LIB}')
|
||||
copy(r'{BUILDDIR}\libr\**\*.a', r'{LIB}')
|
||||
makedirs(r'{DIST}')
|
||||
move(r'{BIN}\*.exe', r'{DIST}')
|
||||
move(r'{BIN}\*.dll', r'{DIST}')
|
||||
if args.copylib:
|
||||
move(r'{LIB}\*.lib', r'{DIST}')
|
||||
move(r'{LIB}\*.a', r'{DIST}')
|
||||
copytree(r'{ROOT}\shlr\www', r'{DIST}\www')
|
||||
copytree(r'{ROOT}\libr\magic\d\default', r'{DIST}\share\radare2\{R2_VERSION}\magic')
|
||||
makedirs(r'{DIST}\share\radare2\{R2_VERSION}\syscall')
|
||||
copy(r'{ROOT}\libr\syscall\d\*.sdb', r'{DIST}\share\radare2\{R2_VERSION}\syscall')
|
||||
makedirs(r'{DIST}\share\radare2\{R2_VERSION}\fcnsign')
|
||||
copy(r'{ROOT}\libr\anal\d\*.sdb', r'{DIST}\share\radare2\{R2_VERSION}\fcnsign')
|
||||
makedirs(r'{DIST}\share\radare2\{R2_VERSION}\opcodes')
|
||||
copy(r'{ROOT}\libr\anal\d\*.sdb', r'{DIST}\share\radare2\{R2_VERSION}\opcodes')
|
||||
makedirs(r'{DIST}\include\libr\sdb')
|
||||
makedirs(r'{DIST}\include\libr\r_util')
|
||||
copy(r'{ROOT}\libr\include\*.h', r'{DIST}\include\libr')
|
||||
copy(r'{ROOT}\libr\include\sdb\*.h', r'{DIST}\include\libr\sdb')
|
||||
copy(r'{ROOT}\libr\include\r_util\*.h', r'{DIST}\include\libr\r_util')
|
||||
makedirs(r'{DIST}\share\doc\radare2')
|
||||
copy(r'{ROOT}\doc\fortunes.*', r'{DIST}\share\doc\radare2')
|
||||
makedirs(r'{DIST}\share\radare2\{R2_VERSION}\format\dll')
|
||||
copy(r'{ROOT}\libr\bin\d\elf32', r'{DIST}\share\radare2\{R2_VERSION}\format')
|
||||
copy(r'{ROOT}\libr\bin\d\elf64', r'{DIST}\share\radare2\{R2_VERSION}\format')
|
||||
copy(r'{ROOT}\libr\bin\d\elf_enums', r'{DIST}\share\radare2\{R2_VERSION}\format')
|
||||
copy(r'{ROOT}\libr\bin\d\pe32', r'{DIST}\share\radare2\{R2_VERSION}\format')
|
||||
copy(r'{ROOT}\libr\bin\d\trx', r'{DIST}\share\radare2\{R2_VERSION}\format')
|
||||
copy(r'{ROOT}\libr\bin\d\dll\*.sdb', r'{DIST}\share\radare2\{R2_VERSION}\format\dll')
|
||||
makedirs(r'{DIST}\share\radare2\{R2_VERSION}\cons')
|
||||
copy(r'{ROOT}\libr\cons\d\*', r'{DIST}\share\radare2\{R2_VERSION}\cons')
|
||||
makedirs(r'{DIST}\share\radare2\{R2_VERSION}\hud')
|
||||
copy(r'{ROOT}\doc\hud', r'{DIST}\share\radare2\{R2_VERSION}\hud\main')
|
||||
|
||||
def build_sdb(args):
|
||||
""" Build and generate sdb files """
|
||||
log.info('Building SDB')
|
||||
cmd = 'ECHO %CD%' if os.name == 'nt' else 'pwd'
|
||||
cd = os.popen(cmd).read().rstrip()
|
||||
meson(os.path.join(ROOT, 'shlr', 'sdb'), SDB_BUILDDIR, prefix=cd)
|
||||
ninja(SDB_BUILDDIR)
|
||||
if not os.path.exists(SDB_BUILDDIR):
|
||||
meson(os.path.join(ROOT, 'shlr', 'sdb'), SDB_BUILDDIR,
|
||||
args.prefix, args.backend, args.release, args.shared)
|
||||
if args.backend != 'ninja':
|
||||
if args.xp:
|
||||
xp_compat(os.path.join(ROOT, SDB_BUILDDIR))
|
||||
if not args.project:
|
||||
project = os.path.join(ROOT, SDB_BUILDDIR, 'sdb.sln')
|
||||
msbuild(project)
|
||||
else:
|
||||
ninja(SDB_BUILDDIR)
|
||||
|
||||
# Create .sdb files
|
||||
log.info('Generating sdb files.')
|
||||
@ -147,24 +250,18 @@ def build_sdb(args):
|
||||
def build_r2(args):
|
||||
""" Build radare2 """
|
||||
log.info('Building radare2')
|
||||
if not os.path.exists(args.dir):
|
||||
meson(ROOT, args.dir, args.prefix, args.backend,
|
||||
args.release, args.shared)
|
||||
if args.backend != 'ninja':
|
||||
if not os.path.exists(args.dir):
|
||||
meson(ROOT, args.dir, args.prefix, args.backend, args.release,
|
||||
args.shared)
|
||||
if args.xp:
|
||||
log.info('Running XP compat script')
|
||||
xp_compat(BUILDDIR)
|
||||
xp_compat(os.path.join(ROOT, args.dir))
|
||||
if not args.project:
|
||||
log.info('Starting msbuild')
|
||||
project = os.path.join(ROOT, args.dir, 'radare2.sln')
|
||||
subprocess.call(['msbuild', project])
|
||||
msbuild(project)
|
||||
else:
|
||||
if not os.path.exists(args.dir):
|
||||
meson(ROOT, args.dir, args.prefix, args.backend, args.release,
|
||||
args.shared)
|
||||
ninja(args.dir)
|
||||
|
||||
|
||||
def build(args):
|
||||
""" Prepare requirements and build radare2 """
|
||||
# Prepare capstone
|
||||
@ -181,8 +278,10 @@ def build(args):
|
||||
|
||||
def install(args):
|
||||
""" Install radare2 """
|
||||
if os.name == 'nt':
|
||||
win_install(args)
|
||||
return
|
||||
log.warning('Install not implemented yet.')
|
||||
return
|
||||
# TODO
|
||||
#if os.name == 'posix':
|
||||
# os.system('DESTDIR="{destdir}" ninja -C {build} install'
|
||||
@ -204,13 +303,18 @@ def main():
|
||||
help='Link dynamically (shared library) rather than statically')
|
||||
parser.add_argument('--prefix', action='store', default=None,
|
||||
help='Set project installation prefix (default: /usr/local)')
|
||||
parser.add_argument('--install', action='store_true',
|
||||
help='Install radare2 after building')
|
||||
parser.add_argument('--dir', action='store', default=BUILDDIR,
|
||||
help='Destination build directory (default: {})'.format(BUILDDIR),
|
||||
required=False)
|
||||
parser.add_argument('--xp', action='store_true',
|
||||
help='Adds support for Windows XP')
|
||||
if os.name == 'nt':
|
||||
parser.add_argument('--install', help='Installation directory')
|
||||
parser.add_argument('--copylib', action='store_true',
|
||||
help='Copy static libraries to the installation directory')
|
||||
else:
|
||||
parser.add_argument('--install', action='store_true',
|
||||
help='Install radare2 after building')
|
||||
args = parser.parse_args()
|
||||
|
||||
# Check arguments
|
||||
@ -220,6 +324,9 @@ def main():
|
||||
if args.xp and args.backend == 'ninja':
|
||||
log.error('--xp is not compatible with --backend ninja')
|
||||
sys.exit(1)
|
||||
if os.name == 'nt' and args.install and os.path.exists(args.install):
|
||||
log.error('%s already exists' % args.install)
|
||||
sys.exit(1)
|
||||
|
||||
# Build it!
|
||||
log.debug('Arguments: {}'.format(args))
|
||||
@ -228,4 +335,9 @@ def main():
|
||||
install(args)
|
||||
|
||||
if __name__ == '__main__':
|
||||
# meson internals
|
||||
if len(sys.argv) > 1 and sys.argv[1] in ('test', '--internal'):
|
||||
launcher = os.path.realpath(sys.argv[0])
|
||||
meson_run(sys.argv[1:], launcher)
|
||||
sys.exit()
|
||||
main()
|
||||
|
@ -1,93 +0,0 @@
|
||||
@echo off
|
||||
|
||||
SET BUILDER=ninja
|
||||
SET DIST=
|
||||
SET COPYLIB=
|
||||
|
||||
:PARSEARGS
|
||||
IF NOT "%1"=="" (
|
||||
IF "%1"=="--msbuild" (
|
||||
SET BUILDER=msbuild
|
||||
) ELSE IF "%1"=="--with-static" (
|
||||
SET COPYLIB=1
|
||||
) ELSE (
|
||||
SET DIST=%1
|
||||
)
|
||||
SHIFT
|
||||
GOTO PARSEARGS
|
||||
)
|
||||
|
||||
:START
|
||||
IF "%DIST%"=="" ( ECHO Please call this script with the dist folder name. && GOTO EXIT )
|
||||
IF "%R2_VERSION%"=="" (
|
||||
SETLOCAL EnableDelayedExpansion
|
||||
ECHO %%R2_VERSION%% not set, trying to set automatically...
|
||||
FOR /F "tokens=* USEBACKQ" %%F IN (`python sys\\version.py`) DO (
|
||||
SET VER=%%F
|
||||
)
|
||||
IF "!VER!"=="" (
|
||||
ECHO Failed.
|
||||
GOTO EXIT
|
||||
)
|
||||
SET R2_VER=!VER!
|
||||
) ELSE (
|
||||
GOTO CHECK
|
||||
)
|
||||
ENDLOCAL & ( SET "R2_VERSION=%R2_VER%" )
|
||||
|
||||
:CHECK
|
||||
ECHO Using version %R2_VERSION%
|
||||
|
||||
IF "%BUILDER%"=="ninja" (
|
||||
ECHO [ R2 MESON NINJA INSTALL ]
|
||||
ninja.exe -C build install
|
||||
)
|
||||
IF "%BUILDER%"=="msbuild" (
|
||||
ECHO [ R2 MSBUILD INSTALL ]
|
||||
|
||||
IF EXIST bin ( RD /s /q bin )
|
||||
MKDIR bin
|
||||
FOR /F "tokens=*" %%F IN (' dir /s /b build\binr\*.exe ') DO COPY %%F bin\
|
||||
|
||||
IF EXIST lib ( RD /s /q lib )
|
||||
MKDIR lib
|
||||
FOR /F "tokens=*" %%F IN (' dir /s /b build\libr\*.dll ') DO COPY %%F lib\
|
||||
)
|
||||
|
||||
ECHO [ R2 WINDIST FOLDER CREATION ]
|
||||
MKDIR %DIST%
|
||||
MOVE bin\*.exe %DIST%\
|
||||
MOVE bin\*.dll %DIST%\
|
||||
IF "%COPYLIB%"=="1" (
|
||||
MOVE lib\*.lib %DIST%\
|
||||
MOVE lib\*.a %DIST%\
|
||||
)
|
||||
XCOPY /S /I shlr\www %DIST%\www
|
||||
MKDIR %DIST%\share\radare2\%R2_VERSION%\magic
|
||||
XCOPY /S libr\magic\d\default\* %DIST%\share\radare2\%R2_VERSION%\magic\
|
||||
MKDIR %DIST%\share\radare2\%R2_VERSION%\syscall
|
||||
XCOPY /S libr\syscall\d\*.sdb %DIST%\share\radare2\%R2_VERSION%\syscall\
|
||||
MKDIR %DIST%\share\radare2\%R2_VERSION%\fcnsign
|
||||
XCOPY /S libr\anal\d\*.sdb %DIST%\share\radare2\%R2_VERSION%\fcnsign\
|
||||
MKDIR %DIST%\share\radare2\%R2_VERSION%\opcodes
|
||||
XCOPY /S libr\anal\d\*.sdb %DIST%\share\radare2\%R2_VERSION%\opcodes\
|
||||
MKDIR %DIST%\share\doc\radare2
|
||||
MKDIR %DIST%\include\libr\sdb
|
||||
MKDIR %DIST%\include\libr\r_util
|
||||
COPY libr\include\sdb\*.h %DIST%\include\libr\sdb\
|
||||
COPY libr\include\r_util\*.h %DIST%\include\libr\r_util\
|
||||
COPY libr\include\*.h %DIST%\include\libr\
|
||||
COPY doc\fortunes.* %DIST%\share\doc\radare2\
|
||||
MKDIR %DIST%\share\radare2\%R2_VERSION%\format\dll
|
||||
COPY libr\bin\d\elf32 %DIST%\share\radare2\%R2_VERSION%\format\
|
||||
COPY libr\bin\d\elf64 %DIST%\share\radare2\%R2_VERSION%\format\
|
||||
COPY libr\bin\d\elf_enums %DIST%\share\radare2\%R2_VERSION%\format\
|
||||
COPY libr\bin\d\pe32 %DIST%\share\radare2\%R2_VERSION%\format\
|
||||
COPY libr\bin\d\trx %DIST%\share\radare2\%R2_VERSION%\format\
|
||||
COPY libr\bin\d\dll\*.sdb %DIST%\share\radare2\%R2_VERSION%\format\dll\
|
||||
MKDIR %DIST%\share\radare2\%R2_VERSION%\cons
|
||||
COPY libr\cons\d\* %DIST%\share\radare2\%R2_VERSION%\cons\
|
||||
MKDIR %DIST%\share\radare2\%R2_VERSION%\hud
|
||||
COPY doc\hud %DIST%\share\radare2\%R2_VERSION%\hud\main
|
||||
|
||||
:EXIT
|
Loading…
Reference in New Issue
Block a user