diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..120c689 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,6 @@ +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "weekly" \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f85251a..d6cf18c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,116 +1,21 @@ -name: CI - -on: [push, pull_request, workflow_dispatch] +name: Build AlliedModders Extension + +on: + push: + branches: + - master + - main + tags: + - "*" + pull_request: + branches: + - master + - main jobs: - build: - name: Build - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ubuntu-20.04] - sourcemod-version: [1.11-dev] - include: - - os: ubuntu-20.04 - target-archs: x86,x86_64 - sdks: sdk2013 - - steps: - - name: Install Linux packages - if: runner.os == 'Linux' - run: | - sudo apt update - sudo apt install -yq --no-install-recommends g++-multilib libjansson-dev - - - name: Set up Python - uses: actions/setup-python@v2 - - - name: Checkout - uses: actions/checkout@v2 - with: - path: extension - - - name: Checkout SourceMod - uses: actions/checkout@v2 - with: - repository: alliedmodders/sourcemod - ref: ${{ matrix.sourcemod-version }} - path: sourcemod - submodules: recursive - - - name: Checkout AMBuild - uses: actions/checkout@v2 - with: - repository: alliedmodders/ambuild - path: ambuild - - - name: Checkout sm-ext-common - uses: actions/checkout@v2 - with: - repository: srcdslab/sm-ext-common - path: sourcemod/extensions/sm-ext-common - - - name: Install sourcemod dependencies - run: | - bash sourcemod/tools/checkout-deps.sh -m -s ${{ matrix.sdks }} - - - name: Install AMBuild - uses: BSFishy/pip-action@v1 - with: - packages: ./ambuild - - - name: Build - working-directory: extension - shell: bash - env: - BREAKPAD_SYMBOL_SERVER: ${{ secrets.BREAKPAD_SYMBOL_SERVER }} - run: | - mkdir build && cd build - python ../configure.py --enable-optimize --targets=${{ matrix.target-archs }} --sdks=${{ matrix.sdks }} - ambuild - - - name: Upload artifact - uses: actions/upload-artifact@v2 - with: - name: ${{ runner.os }} - path: extension/build/package - - - release: - name: Release - if: startsWith(github.ref, 'refs/tags/') - needs: build - runs-on: ubuntu-latest - - steps: - - name: Download artifacts - uses: actions/download-artifact@v2 - - - name: Package - run: | - version=`echo $GITHUB_REF | sed "s/refs\/tags\///"` - ls -Rall - if [ -d "./Linux/" ]; then - cd ./Linux/ - tar -czf ../${{ github.event.repository.name }}-${version}-linux.tar.gz -T <(\ls -1) - cd - - fi - if [ -d "./macOS/" ]; then - cd ./macOS/ - tar -czf ../${{ github.event.repository.name }}-${version}-mac.tar.gz -T <(\ls -1) - cd - - fi - if [ -d "./Windows/" ]; then - cd ./Windows/ - tar -czf ../${{ github.event.repository.name }}-${version}-windows.tar.gz -T <(\ls -1) - cd - - fi - - - name: Release - uses: svenstaro/upload-release-action@v2 - with: - repo_token: ${{ secrets.GITHUB_TOKEN }} - file: '*.tar.gz' - tag: ${{ github.ref }} - file_glob: true + build-release-extension: + uses: srcdslab/ci-workflows/.github/workflows/shared_build_release_am_extension.yml@v1 + with: + sdks: "sdk2013" + artifact-path: "libuv/dist" + submodules: "recursive" diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a26693 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +build +Containerfile +.venv +safetyhook +libuv +ambuild +*.env +*.ps1 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..b4a791b --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "sm-ext-common"] + path = sm-ext-common + url = https://github.com/srcdslab/sm-ext-common diff --git a/AMBuildScript b/AMBuildScript deleted file mode 100644 index 4ae866e..0000000 --- a/AMBuildScript +++ /dev/null @@ -1,662 +0,0 @@ -# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python: -import os, sys -import traceback - -class SDK(object): - def __init__(self, sdk, ext, aDef, name, platform, dir): - self.folder = 'hl2sdk-' + dir - self.envvar = sdk - self.ext = ext - self.code = aDef - self.define = name - self.platform = platform - self.name = dir - self.path = None # Actual path - self.platformSpec = platform - - # By default, nothing supports x64. - if type(platform) is list: - self.platformSpec = {p: ['x86'] for p in platform} - else: - self.platformSpec = platform - - def shouldBuild(self, targets): - for cxx in targets: - if cxx.target.platform in self.platformSpec: - if cxx.target.arch in self.platformSpec[cxx.target.platform]: - return True - return False - -WinOnly = ['windows'] -WinLinux = ['windows', 'linux'] -WinLinuxMac = ['windows', 'linux', 'mac'] - -PossibleSDKs = { - 'sdk2013': SDK('HL2SDK2013', '2.sdk2013', '9', 'SDK2013', WinLinuxMac, 'sdk2013'), -} - -def ResolveEnvPath(env, folder): - if env in os.environ: - path = os.environ[env] - if os.path.isdir(path): - return path - return None - - head = os.getcwd() - oldhead = None - while head != None and head != oldhead: - path = os.path.join(head, folder) - if os.path.isdir(path): - return path - oldhead = head - head, tail = os.path.split(head) - - return None - -def Normalize(path): - return os.path.abspath(os.path.normpath(path)) - -def SetArchFlags(compiler): - if compiler.behavior == 'gcc': - if compiler.target.arch == 'x86_64': - compiler.cflags += ['-fPIC'] - elif compiler.like('msvc'): - if compiler.target.arch == 'x86_64': - compiler.defines += ['WIN64'] - -class ExtensionConfig(object): - def __init__(self): - self.sdks = {} - self.binaries = [] - self.spvm = [] - self.extensions = [] - self.generated_headers = None - self.sm_root = None - self.mms_root = None - self.mysql_root = {} - self.spcomp = None - self.spcomp_bins = None - self.smx_files = {} - self.versionlib = None - self.all_targets = [] - self.target_archs = set() - self.jansson_root = None - - - if builder.options.targets: - target_archs = builder.options.targets.split(',') - else: - target_archs = ['x86'] - if builder.backend != 'amb2': - target_archs.append('x86_64') - - for arch in target_archs: - try: - cxx = builder.DetectCxx(target_arch = arch) - self.target_archs.add(cxx.target.arch) - except Exception as e: - # Error if archs were manually overridden. - if builder.options.targets: - raise - print('Skipping target {}: {}'.format(arch, e)) - continue - self.all_targets.append(cxx) - - if not self.all_targets: - raise Exception('No suitable C/C++ compiler was found.') - - @property - def tag(self): - if builder.options.debug == '1': - return 'Debug' - return 'Release' - - def detectProductVersion(self): - builder.AddConfigureFile('product.version') - - # For OS X dylib versioning - import re - with open(os.path.join(builder.sourcePath, 'product.version'), 'r') as fp: - productContents = fp.read() - m = re.match('(\d+)\.(\d+)\.(\d+).*', productContents) - if m == None: - self.productVersion = '1.0.0' - else: - major, minor, release = m.groups() - self.productVersion = '{0}.{1}.{2}'.format(major, minor, release) - - def detectSDKs(self): - sdk_list = builder.options.sdks.split(',') - use_none = sdk_list[0] == 'none' - use_all = sdk_list[0] == 'all' - use_present = sdk_list[0] == 'present' - - for sdk_name in PossibleSDKs: - sdk = PossibleSDKs[sdk_name] - if sdk.shouldBuild(self.all_targets): - if builder.options.hl2sdk_root: - sdk_path = os.path.join(builder.options.hl2sdk_root, sdk.folder) - else: - sdk_path = ResolveEnvPath(sdk.envvar, sdk.folder) - if sdk_path is None or not os.path.isdir(sdk_path): - if use_all or sdk_name in sdk_list: - raise Exception('Could not find a valid path for {0}'.format(sdk.envvar)) - continue - if use_all or use_present or sdk_name in sdk_list: - sdk.path = Normalize(sdk_path) - self.sdks[sdk_name] = sdk - - if len(self.sdks) < 1 and len(sdk_list) and not use_none: - raise Exception('No applicable SDKs were found, nothing to do') - - if builder.options.sm_path: - self.sm_root = builder.options.sm_path - else: - self.sm_root = ResolveEnvPath('SOURCEMOD18', 'sourcemod-1.10') - if not self.sm_root: - self.sm_root = ResolveEnvPath('SOURCEMOD', 'sourcemod-source') - if not self.sm_root: - self.sm_root = ResolveEnvPath('SOURCEMOD_DEV', 'sourcemod-central') - if not self.sm_root: - self.sm_root = ResolveEnvPath('SOURCEMOD', 'sourcemod') - - if not self.sm_root or not os.path.isdir(self.sm_root): - raise Exception('Could not find a source copy of Sourcemod') - self.sm_root = Normalize(self.sm_root) - - if builder.options.mms_path: - self.mms_root = builder.options.mms_path - else: - self.mms_root = ResolveEnvPath('MMSOURCE110', 'mmsource-1.10') - if not self.mms_root: - self.mms_root = ResolveEnvPath('MMSOURCE_DEV', 'metamod-source') - if not self.mms_root: - self.mms_root = ResolveEnvPath('MMSOURCE_DEV', 'mmsource-central') - if not self.mms_root: - self.mms_root = ResolveEnvPath('MMSOURCE_DEV', 'metamod') - - if not self.mms_root or not os.path.isdir(self.mms_root): - raise Exception('Could not find a source copy of Metamod:Source') - self.mms_root = Normalize(self.mms_root) - - if builder.options.jansson_path: - self.jansson_root = builder.options.jansson_path - else: - self.jansson_root = ResolveEnvPath('JANSSONSOURCE26', 'jansson-2.6') - if not self.jansson_root: - self.jansson_root = ResolveEnvPath('JANSSONSOURCE_DEV', 'jansson-source') - if not self.jansson_root: - self.jansson_root = ResolveEnvPath('JANSSONSOURCE_DEV', 'jansson-central') - if not self.jansson_root: - self.jansson_root = ResolveEnvPath('JANSSONSOURCE_DEV', 'jansson') - - if not self.jansson_root or not os.path.isdir(self.jansson_root): - raise Exception('Could not find a source copy of jansson') - self.jansson_root = Normalize(self.jansson_root) - - def configure(self): - if not set(self.target_archs).issubset(['x86', 'x86_64']): - raise Exception('Unknown target architecture: {0}'.format(self.target_archs)) - - for cxx in self.all_targets: - self.configure_cxx(cxx) - - def configure_cxx(self, cxx): - if cxx.family == 'msvc': - if cxx.version < 1900: - raise Exception('Only MSVC 2015 and later are supported, c++14 support is required.') - if cxx.family == 'gcc': - if cxx.version < 'gcc-4.9': - raise Exception('Only GCC versions 4.9 or greater are supported, c++14 support is required.') - if cxx.family == 'clang': - if cxx.version < 'clang-3.4': - raise Exception('Only clang versions 3.4 or greater are supported, c++14 support is required.') - - if cxx.like('gcc'): - self.configure_gcc(cxx) - elif cxx.family == 'msvc': - self.configure_msvc(cxx) - - # Optimizaiton - if builder.options.opt == '1': - cxx.defines += ['NDEBUG'] - - # Debugging - if builder.options.debug == '1': - cxx.defines += ['DEBUG', '_DEBUG'] - - # Platform-specifics - if cxx.target.platform == 'linux': - self.configure_linux(cxx) - elif cxx.target.platform == 'mac': - self.configure_mac(cxx) - elif cxx.target.platform == 'windows': - self.configure_windows(cxx) - - # Finish up. - cxx.includes += [ - os.path.join(self.sm_root, 'public'), - ] - - def configure_gcc(self, cxx): - cxx.defines += [ - 'stricmp=strcasecmp', - '_stricmp=strcasecmp', - '_snprintf=snprintf', - '_vsnprintf=vsnprintf', - 'HAVE_STDINT_H', - 'GNUC', - ] - cxx.cflags += [ - '-pipe', - '-fno-strict-aliasing', - '-Wall', - #'-Werror', - '-Wno-unused', - '-Wno-switch', - '-Wno-array-bounds', - '-msse', - '-fvisibility=hidden', - ] - - if cxx.version == 'apple-clang-6.0' or cxx.version == 'clang-3.4': - cxx.cxxflags += ['-std=c++1y'] - else: - cxx.cxxflags += ['-std=c++14'] - - cxx.cxxflags += [ - '-fno-threadsafe-statics', - '-Wno-non-virtual-dtor', - '-Wno-overloaded-virtual', - '-fvisibility-inlines-hidden', - ] - - have_gcc = cxx.family == 'gcc' - have_clang = cxx.family == 'clang' - if cxx.version >= 'clang-3.9' or cxx.version == 'clang-3.4' or cxx.version > 'apple-clang-6.0': - cxx.cxxflags += ['-Wno-expansion-to-defined'] - if cxx.version == 'clang-3.9' or cxx.version == 'apple-clang-8.0': - cxx.cflags += ['-Wno-varargs'] - if cxx.version >= 'clang-3.4' or cxx.version >= 'apple-clang-7.0': - cxx.cxxflags += ['-Wno-inconsistent-missing-override'] - if cxx.version >= 'clang-2.9' or cxx.version >= 'apple-clang-3.0': - cxx.cxxflags += ['-Wno-null-dereference'] - if have_clang or (cxx.version >= 'gcc-4.6'): - cxx.cflags += ['-Wno-narrowing'] - if have_clang or (cxx.version >= 'gcc-4.7'): - cxx.cxxflags += ['-Wno-delete-non-virtual-dtor'] - if cxx.version >= 'gcc-4.8': - cxx.cflags += ['-Wno-unused-result'] - if cxx.version >= 'gcc-9.0': - cxx.cxxflags += ['-Wno-class-memaccess', '-Wno-packed-not-aligned'] - if have_clang: - cxx.cxxflags += ['-Wno-implicit-exception-spec-mismatch'] - if cxx.version >= 'apple-clang-5.1' or cxx.version >= 'clang-3.4': - cxx.cxxflags += ['-Wno-deprecated-register'] - else: - cxx.cxxflags += ['-Wno-deprecated'] - cxx.cflags += ['-Wno-sometimes-uninitialized'] - - # Work around SDK warnings. - if cxx.version >= 'clang-10.0': - cxx.cflags += [ - '-Wno-implicit-int-float-conversion', - '-Wno-tautological-overlap-compare', - ] - - if have_gcc: - cxx.cflags += ['-mfpmath=sse'] - cxx.cflags += ['-Wno-maybe-uninitialized'] - - if builder.options.opt == '1': - cxx.cflags += [ - '-O3', - '-fexperimental-new-pass-manager', - '-mllvm', - '-inline-threshold=1000', - '-mllvm', - '-vectorize-loops', - '-ftree-vectorize', - ] - - # Don't omit the frame pointer. - cxx.cflags += ['-fno-omit-frame-pointer'] - - def configure_msvc(self, cxx): - if builder.options.debug == '1': - cxx.cflags += ['/MTd'] - cxx.linkflags += ['/NODEFAULTLIB:libcmt'] - else: - cxx.cflags += ['/MT'] - cxx.defines += [ - '_CRT_SECURE_NO_DEPRECATE', - '_CRT_SECURE_NO_WARNINGS', - '_CRT_NONSTDC_NO_DEPRECATE', - '_ITERATOR_DEBUG_LEVEL=0', - ] - cxx.cflags += [ - '/W3', - ] - cxx.cxxflags += [ - '/EHsc', - '/GR-', - '/TP', - ] - cxx.linkflags += [ - 'kernel32.lib', - 'user32.lib', - 'gdi32.lib', - 'winspool.lib', - 'comdlg32.lib', - 'advapi32.lib', - 'shell32.lib', - 'ole32.lib', - 'oleaut32.lib', - 'uuid.lib', - 'odbc32.lib', - 'odbccp32.lib', - ] - - if builder.options.opt == '1': - cxx.cflags += ['/Ox', '/Zo'] - cxx.linkflags += ['/OPT:ICF', '/OPT:REF'] - - if builder.options.debug == '1': - cxx.cflags += ['/Od', '/RTC1'] - - # This needs to be after our optimization flags which could otherwise disable it. - # Don't omit the frame pointer. - cxx.cflags += ['/Oy-'] - - def configure_linux(self, cxx): - cxx.defines += ['_LINUX', 'POSIX', '_FILE_OFFSET_BITS=64'] - cxx.linkflags += ['-lm'] - if cxx.family == 'gcc': - cxx.linkflags += ['-static-libgcc'] - elif cxx.family == 'clang': - cxx.linkflags += ['-lgcc_eh'] - cxx.linkflags += ['-static-libstdc++'] - - def configure_mac(self, cxx): - cxx.defines += ['OSX', '_OSX', 'POSIX', 'KE_ABSOLUTELY_NO_STL'] - cxx.cflags += ['-mmacosx-version-min=10.7'] - cxx.linkflags += [ - '-mmacosx-version-min=10.7', - '-stdlib=libc++', - '-lc++', - ] - cxx.cxxflags += ['-stdlib=libc++'] - - def configure_windows(self, cxx): - cxx.defines += ['WIN32', '_WINDOWS'] - - def add_libamtl(self): - # Add libamtl. - self.libamtl = {} - for cxx in self.all_targets: - def get_configure_fn(cxx): - return lambda builder, name: self.StaticLibrary(builder, cxx, name) - extra_vars = {'Configure': get_configure_fn(cxx)} - libamtl = builder.Build('public/amtl/amtl/AMBuilder', extra_vars) - self.libamtl[cxx.target.arch] = libamtl.binary - - def AddVersioning(self, binary): - if binary.compiler.target.platform == 'windows': - binary.sources += ['version.rc'] - binary.compiler.rcdefines += [ - 'BINARY_NAME="{0}"'.format(binary.outputFile), - 'RC_COMPILE', - ] - elif binary.compiler.target.platform == 'mac': - if binary.type == 'library': - binary.compiler.postlink += [ - '-compatibility_version', '1.0.0', - '-current_version', self.productVersion - ] - return binary - - def LibraryBuilder(self, compiler, name): - binary = compiler.Library(name) - self.AddVersioning(binary) - if binary.compiler.like('msvc'): - binary.compiler.linkflags += ['/SUBSYSTEM:WINDOWS'] - return binary - - def ProgramBuilder(self, compiler, name): - binary = compiler.Program(name) - self.AddVersioning(binary) - if '-static-libgcc' in binary.compiler.linkflags: - binary.compiler.linkflags.remove('-static-libgcc') - if '-lgcc_eh' in binary.compiler.linkflags: - binary.compiler.linkflags.remove('-lgcc_eh') - if binary.compiler.like('gcc'): - binary.compiler.linkflags += ['-lstdc++', '-lpthread'] - if binary.compiler.like('msvc'): - binary.compiler.linkflags += ['/SUBSYSTEM:CONSOLE'] - return binary - - def StaticLibraryBuilder(self, compiler, name): - return compiler.StaticLibrary(name) - - def Library(self, context, compiler, name): - compiler = compiler.clone() - SetArchFlags(compiler) - return self.LibraryBuilder(compiler, name) - - def Program(self, context, compiler, name): - compiler = compiler.clone() - SetArchFlags(compiler) - return self.ProgramBuilder(compiler, name) - - def StaticLibrary(self, context, compiler, name): - compiler = compiler.clone() - SetArchFlags(compiler) - return self.StaticLibraryBuilder(compiler, name) - - def ConfigureForExtension(self, context, compiler): - compiler.cxxincludes += [ - os.path.join(context.currentSourcePath), - os.path.join(context.currentSourcePath, 'sdk'), - os.path.join(self.sm_root, 'public'), - os.path.join(self.sm_root, 'public', 'extensions'), - os.path.join(self.sm_root, 'sourcepawn', 'include'), - os.path.join(self.sm_root, 'public', 'amtl', 'amtl'), - os.path.join(self.sm_root, 'public', 'amtl'), - os.path.join(self.sm_root, 'extensions', 'sm-ext-common', 'include'), - ] - compiler.includes += [ - os.path.join(self.jansson_root, 'src'), - ] - return compiler - - def ExtLibrary(self, context, compiler, name): - binary = self.Library(context, compiler, name) - SetArchFlags(compiler) - self.ConfigureForExtension(context, binary.compiler) - return binary - - def ConfigureForHL2(self, context, binary, sdk): - compiler = binary.compiler - SetArchFlags(compiler) - - compiler.cxxincludes += [ - os.path.join(self.mms_root, 'core'), - os.path.join(self.mms_root, 'core', 'sourcehook'), - ] - - defines = ['SE_' + PossibleSDKs[i].define + '=' + PossibleSDKs[i].code for i in PossibleSDKs] - compiler.defines += defines - - paths = [ - ['public'], - ['public', 'engine'], - ['public', 'mathlib'], - ['public', 'vstdlib'], - ['public', 'tier0'], - ['public', 'tier1'] - ] - if sdk.name == 'episode1' or sdk.name == 'darkm': - paths.append(['public', 'dlls']) - paths.append(['game_shared']) - else: - paths.append(['public', 'game', 'server']) - paths.append(['public', 'toolframework']) - paths.append(['game', 'shared']) - paths.append(['common']) - - compiler.defines += ['SOURCE_ENGINE=' + sdk.code] - - if sdk.name in ['sdk2013', 'bms'] and compiler.like('gcc'): - # The 2013 SDK already has these in public/tier0/basetypes.h - compiler.defines.remove('stricmp=strcasecmp') - compiler.defines.remove('_stricmp=strcasecmp') - compiler.defines.remove('_snprintf=snprintf') - compiler.defines.remove('_vsnprintf=vsnprintf') - - if compiler.like('msvc'): - compiler.defines += ['COMPILER_MSVC'] - if compiler.target.arch == 'x86': - compiler.defines += ['COMPILER_MSVC32'] - elif compiler.target.arch == 'x86_64': - compiler.defines += ['COMPILER_MSVC64'] - compiler.linkflags += ['legacy_stdio_definitions.lib'] - else: - compiler.defines += ['COMPILER_GCC'] - - if compiler.target.arch == 'x86_64': - compiler.defines += ['X64BITS', 'PLATFORM_64BITS'] - - # For everything after Swarm, this needs to be defined for entity networking - # to work properly with sendprop value changes. - if sdk.name in ['blade', 'insurgency', 'doi', 'csgo']: - compiler.defines += ['NETWORK_VARS_ENABLED'] - - if sdk.name in ['css', 'hl2dm', 'dods', 'sdk2013', 'bms', 'tf2', 'l4d', 'nucleardawn', 'l4d2']: - if compiler.target.platform in ['linux', 'mac']: - compiler.defines += ['NO_HOOK_MALLOC', 'NO_MALLOC_OVERRIDE'] - - if compiler.target.platform == 'linux': - if sdk.name in ['csgo', 'blade']: - compiler.linkflags.remove('-static-libstdc++') - compiler.defines += ['_GLIBCXX_USE_CXX11_ABI=0'] - - for path in paths: - compiler.cxxincludes += [os.path.join(sdk.path, *path)] - - if compiler.target.platform == 'linux': - if sdk.name == 'episode1': - lib_folder = os.path.join(sdk.path, 'linux_sdk') - elif sdk.name in ['sdk2013', 'bms']: - lib_folder = os.path.join(sdk.path, 'lib', 'public', 'linux32') - elif compiler.target.arch == 'x86_64': - lib_folder = os.path.join(sdk.path, 'lib', 'linux64') - else: - lib_folder = os.path.join(sdk.path, 'lib', 'linux') - elif compiler.target.platform == 'mac': - if sdk.name in ['sdk2013', 'bms']: - lib_folder = os.path.join(sdk.path, 'lib', 'public', 'osx32') - elif compiler.target.arch == 'x86_64': - lib_folder = os.path.join(sdk.path, 'lib', 'osx64') - else: - lib_folder = os.path.join(sdk.path, 'lib', 'mac') - - if compiler.target.platform in ['linux', 'mac']: - if sdk.name in ['sdk2013', 'bms'] or compiler.target.arch == 'x86_64': - compiler.postlink += [ - os.path.join(lib_folder, 'tier1.a'), - os.path.join(lib_folder, 'mathlib.a') - ] - else: - compiler.postlink += [ - os.path.join(lib_folder, 'tier1_i486.a'), - os.path.join(lib_folder, 'mathlib_i486.a') - ] - - if sdk.name in ['blade', 'insurgency', 'doi', 'csgo']: - if compiler.target.arch == 'x86_64': - compiler.postlink += [os.path.join(lib_folder, 'interfaces.a')] - else: - compiler.postlink += [os.path.join(lib_folder, 'interfaces_i486.a')] - - dynamic_libs = [] - if compiler.target.platform == 'linux': - if sdk.name in ['css', 'hl2dm', 'dods', 'tf2', 'sdk2013', 'bms', 'nucleardawn', 'l4d2', 'insurgency', 'doi']: - dynamic_libs = ['libtier0_srv.so', 'libvstdlib_srv.so'] - elif compiler.target.arch == 'x86_64' and sdk.name in ['csgo', 'blade']: - dynamic_libs = ['libtier0_client.so', 'libvstdlib_client.so'] - elif sdk.name in ['l4d', 'blade', 'insurgency', 'doi', 'csgo']: - dynamic_libs = ['libtier0.so', 'libvstdlib.so'] - else: - dynamic_libs = ['tier0_i486.so', 'vstdlib_i486.so'] - elif compiler.target.platform == 'mac': - compiler.linkflags.append('-liconv') - dynamic_libs = ['libtier0.dylib', 'libvstdlib.dylib'] - elif compiler.target.platform == 'windows': - libs = ['tier0', 'tier1', 'vstdlib', 'mathlib'] - if sdk.name in ['swarm', 'blade', 'insurgency', 'doi', 'csgo']: - libs.append('interfaces') - for lib in libs: - if compiler.target.arch == 'x86': - lib_path = os.path.join(sdk.path, 'lib', 'public', lib) + '.lib' - elif compiler.target.arch == 'x86_64': - lib_path = os.path.join(sdk.path, 'lib', 'public', 'win64', lib) + '.lib' - compiler.linkflags.append(lib_path) - - for library in dynamic_libs: - source_path = os.path.join(lib_folder, library) - output_path = os.path.join(binary.localFolder, library) - - # Ensure the output path exists. - context.AddFolder(binary.localFolder) - output = context.AddSymlink(source_path, output_path) - - compiler.weaklinkdeps += [output] - compiler.linkflags[0:0] = [library] - - return binary - - def HL2Library(self, context, compiler, name, sdk): - binary = self.Library(context, compiler, name) - self.ConfigureForExtension(context, binary.compiler) - return self.ConfigureForHL2(context, binary, sdk) - - def HL2Project(self, context, compiler, name): - project = context.LibraryProject(name) - self.ConfigureForExtension(context, compiler) - return project - - def HL2Config(self, project, context, compiler, name, sdk): - binary = project.Configure(compiler, name, - '{0} - {1} {2}'.format(self.tag, sdk.name, compiler.target.arch)) - self.AddVersioning(binary) - return self.ConfigureForHL2(context, binary, sdk) - - def HL2ExtConfig(self, project, context, compiler, name, sdk): - binary = project.Configure(compiler, name, - '{0} - {1} {2}'.format(self.tag, sdk.name, compiler.target.arch)) - self.AddVersioning(binary) - self.ConfigureForHL2(context, binary, sdk) - self.ConfigureForExtension(context, binary.compiler) - return binary - -if getattr(builder, 'target', None) is not None: - sys.stderr.write("Your output folder was configured for AMBuild 2.1, and SourceMod is now\n") - sys.stderr.write("configured to use AMBuild 2.2. Please remove your output folder and\n") - sys.stderr.write("reconfigure to continue.\n") - os._exit(1) - -SM = ExtensionConfig() -SM.detectSDKs() -SM.configure() - -# This will clone the list and each cxx object as we recurse, preventing child -# scripts from messing up global state. -builder.targets = builder.CloneableList(SM.all_targets) - -if builder.backend == 'amb2': - BuildScripts = [ - 'AMBuilder', - 'PackageScript', - ] - -builder.Build(BuildScripts, { 'SM': SM}) diff --git a/AMBuilder b/AMBuilder deleted file mode 100644 index 87b6d8b..0000000 --- a/AMBuilder +++ /dev/null @@ -1,59 +0,0 @@ -# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python: -import os - -projectName = 'smjansson' - -for cxx in builder.targets: - for sdk_name in SM.sdks: - sdk = SM.sdks[sdk_name] - - if not cxx.target.arch in sdk.platformSpec[cxx.target.platform]: - continue - - sdk.ext = "." + sdk.ext - if "sdk2013" in sdk.ext: - sdk.ext = "" - - binary = SM.HL2Library(builder, cxx, projectName + ".ext" + sdk.ext, sdk) - - binary.compiler.defines += [ - 'HAVE_STRING_H', - 'SOURCEMOD_BUILD' - ] - - if cxx.target.platform == 'linux': - cxx.postlink += ['-lpthread', '-lrt'] - elif cxx.target.platform == 'mac': - cxx.cflags += ['-Wno-deprecated-declarations'] - cxx.postlink += ['-framework', 'CoreServices'] - - if cxx.family == 'gcc' or cxx.family == 'clang': - cxx.cxxflags += ['-fno-rtti'] - elif cxx.family == 'msvc': - cxx.cxxflags += ['/GR-'] - - binary.sources += [ - 'extension.cpp', - os.path.join(SM.jansson_root, 'src', 'dump.c'), - os.path.join(SM.jansson_root, 'src', 'error.c'), - os.path.join(SM.jansson_root, 'src', 'hashtable.c'), - os.path.join(SM.jansson_root, 'src', 'hashtable_seed.c'), - os.path.join(SM.jansson_root, 'src', 'load.c'), - os.path.join(SM.jansson_root, 'src', 'memory.c'), - os.path.join(SM.jansson_root, 'src', 'pack_unpack.c'), - os.path.join(SM.jansson_root, 'src', 'strbuffer.c'), - os.path.join(SM.jansson_root, 'src', 'strconv.c'), - os.path.join(SM.jansson_root, 'src', 'utf.c'), - os.path.join(SM.jansson_root, 'src', 'value.c'), - #os.path.join(SM.sm_root, 'extensions', 'sm-ext-common', 'mathstubs.c'), - os.path.join(SM.sm_root, 'public', 'smsdk_ext.cpp'), - os.path.join(SM.sm_root, 'public', 'asm', 'asm.c'), - os.path.join(SM.sm_root, 'public', 'libudis86', 'decode.c'), - os.path.join(SM.sm_root, 'public', 'libudis86', 'itab.c'), - os.path.join(SM.sm_root, 'public', 'libudis86', 'syn-att.c'), - os.path.join(SM.sm_root, 'public', 'libudis86', 'syn-intel.c'), - os.path.join(SM.sm_root, 'public', 'libudis86', 'syn.c'), - os.path.join(SM.sm_root, 'public', 'libudis86', 'udis86.c'), - ] - - SM.extensions += [builder.Add(binary)] diff --git a/Makefile b/Makefile deleted file mode 100644 index 7a75367..0000000 --- a/Makefile +++ /dev/null @@ -1,200 +0,0 @@ -# (C)2004-2012 SourceMod Development Team - -########################################### -### EDIT THESE PATHS FOR YOUR OWN SETUP ### -########################################### - -SDKBASE = ../../forbuild/ -JANSSON = ./jansson-2.3.1/src/ - -SMSDK = $(SDKBASE)sourcemod-central -HL2SDK_ORIG = $(SDKBASE)hl2sdk -HL2SDK_OB = $(SDKBASE)hl2sdk-ob -HL2SDK_OB_VALVE = $(SDKBASE)hl2sdk-ob-valve -HL2SDK_L4D = $(SDKBASE)hl2sdk-l4d -HL2SDK_L4D2 = $(SDKBASE)hl2sdk-l4d2 -MMSOURCE18 = $(SDKBASE)mmsource-1.8 - -##################################### -### EDIT BELOW FOR OTHER PROJECTS ### -##################################### - -PROJECT = smjansson - -#Uncomment for Metamod: Source enabled extension -#USEMETA = true - -OBJECTS = sdk/smsdk_ext.cpp extension.cpp \ - $(JANSSON)dump.c \ - $(JANSSON)error.c \ - $(JANSSON)hashtable.c \ - $(JANSSON)load.c \ - $(JANSSON)memory.c \ - $(JANSSON)pack_unpack.c \ - $(JANSSON)strbuffer.c \ - $(JANSSON)strconv.c \ - $(JANSSON)utf.c \ - $(JANSSON)value.c - - -############################################## -### CONFIGURE ANY OTHER FLAGS/OPTIONS HERE ### -############################################## - -C_OPT_FLAGS = -DNDEBUG -O3 -funroll-loops -pipe -fno-strict-aliasing -C_DEBUG_FLAGS = -D_DEBUG -DDEBUG -g -ggdb3 -C_GCC4_FLAGS = -fvisibility=hidden -CPP_GCC4_FLAGS = -fvisibility-inlines-hidden -CPP = gcc - -########################## -### SDK CONFIGURATIONS ### -########################## - -override ENGSET = false - -# Check for valid list of engines -ifneq (,$(filter original orangebox orangeboxvalve left4dead left4dead2,$(ENGINE))) - override ENGSET = true -endif - -ifeq "$(ENGINE)" "original" - HL2SDK = $(HL2SDK_ORIG) - CFLAGS += -DSOURCE_ENGINE=1 -endif -ifeq "$(ENGINE)" "orangebox" - HL2SDK = $(HL2SDK_OB) - CFLAGS += -DSOURCE_ENGINE=3 -endif -ifeq "$(ENGINE)" "orangeboxvalve" - HL2SDK = $(HL2SDK_OB_VALVE) - CFLAGS += -DSOURCE_ENGINE=6 -endif -ifeq "$(ENGINE)" "left4dead" - HL2SDK = $(HL2SDK_L4D) - CFLAGS += -DSOURCE_ENGINE=7 -endif -ifeq "$(ENGINE)" "left4dead2" - HL2SDK = $(HL2SDK_L4D2) - CFLAGS += -DSOURCE_ENGINE=8 -endif - -HL2PUB = $(HL2SDK)/public - -ifeq "$(ENGINE)" "original" - INCLUDE += -I$(HL2SDK)/public/dlls - METAMOD = $(MMSOURCE18)/core-legacy -else - INCLUDE += -I$(HL2SDK)/public/game/server - METAMOD = $(MMSOURCE18)/core -endif - -OS := $(shell uname -s) - -ifeq "$(OS)" "Darwin" - LIB_EXT = dylib - HL2LIB = $(HL2SDK)/lib/mac -else - LIB_EXT = so - ifeq "$(ENGINE)" "original" - HL2LIB = $(HL2SDK)/linux_sdk - else - HL2LIB = $(HL2SDK)/lib/linux - endif -endif - -# if ENGINE is original or OB -ifneq (,$(filter original orangebox,$(ENGINE))) - LIB_SUFFIX = _i486.$(LIB_EXT) -else - LIB_PREFIX = lib - LIB_SUFFIX = .$(LIB_EXT) -endif - -INCLUDE += -I. -I.. -Isdk -I$(SMSDK)/public -I$(SMSDK)/public/sourcepawn -I$(JANSSON) - -ifeq "$(USEMETA)" "true" - LINK_HL2 = $(HL2LIB)/tier1_i486.a $(LIB_PREFIX)vstdlib$(LIB_SUFFIX) $(LIB_PREFIX)tier0$(LIB_SUFFIX) - - LINK += $(LINK_HL2) - - INCLUDE += -I$(HL2PUB) -I$(HL2PUB)/engine -I$(HL2PUB)/tier0 -I$(HL2PUB)/tier1 -I$(METAMOD) \ - -I$(METAMOD)/sourcehook - CFLAGS += -DSE_EPISODEONE=1 -DSE_DARKMESSIAH=2 -DSE_ORANGEBOX=3 -DSE_BLOODYGOODTIME=4 -DSE_EYE=5 \ - -DSE_ORANGEBOXVALVE=6 -DSE_LEFT4DEAD=7 -DSE_LEFT4DEAD2=8 -DSE_ALIENSWARM=9 -endif - -LINK += -m32 -lm -ldl - -CFLAGS += -Dstricmp=strcasecmp -D_stricmp=strcasecmp -D_strnicmp=strncasecmp -Dstrnicmp=strncasecmp \ - -D_snprintf=snprintf -D_vsnprintf=vsnprintf -D_alloca=alloca -Dstrcmpi=strcasecmp -Wall -Werror \ - -Wno-switch -Wno-unused -mfpmath=sse -msse -DSOURCEMOD_BUILD -DHAVE_STDINT_H -m32 -CPPFLAGS += -Wno-non-virtual-dtor -fno-exceptions -fno-rtti - -################################################ -### DO NOT EDIT BELOW HERE FOR MOST PROJECTS ### -################################################ - -BINARY = $(PROJECT).ext.$(LIB_EXT) - -ifeq "$(DEBUG)" "true" - BIN_DIR = Debug - CFLAGS += $(C_DEBUG_FLAGS) -else - BIN_DIR = Release - CFLAGS += $(C_OPT_FLAGS) -endif - -ifeq "$(USEMETA)" "true" - BIN_DIR := $(BIN_DIR).$(ENGINE) -endif - -ifeq "$(OS)" "Darwin" - LIB_EXT = dylib - CFLAGS += -isysroot /Developer/SDKs/MacOSX10.5.sdk - LINK += -dynamiclib -lstdc++ -mmacosx-version-min=10.5 -else - LIB_EXT = so - CFLAGS += -D_LINUX - LINK += -shared -endif - -GCC_VERSION := $(shell $(CPP) -dumpversion >&1 | cut -b1) -ifeq "$(GCC_VERSION)" "4" - CFLAGS += $(C_GCC4_FLAGS) - CPPFLAGS += $(CPP_GCC4_FLAGS) -endif - -OBJ_BIN := $(OBJECTS:%.cpp=$(BIN_DIR)/%.o) - -$(BIN_DIR)/%.o: %.cpp - $(CPP) $(INCLUDE) $(CFLAGS) $(CPPFLAGS) -o $@ -c $< - -all: check - mkdir -p $(BIN_DIR)/sdk - if [ "$(USEMETA)" = "true" ]; then \ - ln -sf $(HL2LIB)/$(LIB_PREFIX)vstdlib$(LIB_SUFFIX); \ - ln -sf $(HL2LIB)/$(LIB_PREFIX)tier0$(LIB_SUFFIX); \ - fi - $(MAKE) -f Makefile extension - -check: - if [ "$(USEMETA)" = "true" ] && [ "$(ENGSET)" = "false" ]; then \ - echo "You must supply one of the following values for ENGINE:"; \ - echo "left4dead2, left4dead, orangeboxvalve, orangebox, or original"; \ - exit 1; \ - fi - -extension: check $(OBJ_BIN) - $(CPP) $(INCLUDE) $(OBJ_BIN) $(LINK) -o $(BIN_DIR)/$(BINARY) - -debug: - $(MAKE) -f Makefile all DEBUG=true - -default: all - -clean: check - rm -rf $(BIN_DIR)/*.o - rm -rf $(BIN_DIR)/sdk/*.o - rm -rf $(BIN_DIR)/$(BINARY) - diff --git a/PackageScript b/PackageScript deleted file mode 100644 index eb96631..0000000 --- a/PackageScript +++ /dev/null @@ -1,57 +0,0 @@ -# vim: set ts=8 sts=2 sw=2 tw=99 et ft=python: -import os - -# This is where the files will be output to -# package is the default -builder.SetBuildFolder('package') - -# Add any folders you need to this list -folder_list = [ - 'addons/sourcemod/extensions', - 'addons/sourcemod/scripting/include', - 'addons/sourcemod/scripting', -] - -if 'x86_64' in SM.target_archs: - folder_list.extend([ - 'addons/sourcemod/extensions/x64', - ]) - -# Create the distribution folder hierarchy. -folder_map = {} -for folder in folder_list: - norm_folder = os.path.normpath(folder) - folder_map[folder] = builder.AddFolder(norm_folder) - -# Copy binaries. -for cxx_task in SM.extensions: - if cxx_task.target.arch == 'x86_64': - builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions/x64']) - else: - builder.AddCopy(cxx_task.binary, folder_map['addons/sourcemod/extensions']) - -# Do all straight-up file copies from the source tree. -def CopyFiles(src, dest, files): - if not dest: - dest = src - dest_entry = folder_map[dest] - for source_file in files: - source_path = os.path.join(builder.sourcePath, src, source_file) - dest_path = os.path.join(dest_entry.path, source_file) - if not os.path.isfile(str(dest_path)): - builder.AddCopy(source_path, dest_entry) - -# Sourcemod Files -CopyFiles('pawn/scripting', 'addons/sourcemod/scripting', - [ - 'smjansson.test.sp' - ] -) - -# Include Files -CopyFiles('pawn/scripting/include', 'addons/sourcemod/scripting/include', - [ - 'smjansson.inc', - 'test.inc' - ] -) diff --git a/bin/smjansson.ext.dll b/bin/smjansson.ext.dll deleted file mode 100644 index 73276ef..0000000 Binary files a/bin/smjansson.ext.dll and /dev/null differ diff --git a/bin/smjansson.ext.so b/bin/smjansson.ext.so deleted file mode 100644 index 4138e65..0000000 Binary files a/bin/smjansson.ext.so and /dev/null differ diff --git a/configure.py b/configure.py deleted file mode 100644 index 6fb4c78..0000000 --- a/configure.py +++ /dev/null @@ -1,41 +0,0 @@ -# vim: set ts=2 sw=2 tw=99 noet: -import sys -try: - from ambuild2 import run, util -except: - try: - import ambuild - sys.stderr.write('It looks like you have AMBuild 1 installed, but this project uses AMBuild 2.\n') - sys.stderr.write('Upgrade to the latest version of AMBuild to continue.\n') - except: - sys.stderr.write('AMBuild must be installed to build this project.\n') - sys.stderr.write('http://www.alliedmods.net/ambuild\n') - sys.exit(1) - -# Hack to show a decent upgrade message, which wasn't done until 2.2. -ambuild_version = getattr(run, 'CURRENT_API', '2.1') -if ambuild_version.startswith('2.1'): - sys.stderr.write("AMBuild 2.2 or higher is required; please update\n") - sys.exit(1) - -parser = run.BuildParser(sourcePath = sys.path[0], api='2.2') - -parser.options.add_argument('--hl2sdk-root', type=str, dest='hl2sdk_root', default=None, - help='Root search folder for HL2SDKs') -parser.options.add_argument('--mms-path', type=str, dest='mms_path', default=None, - help='Path to Metamod:Source') -parser.options.add_argument('--sm-path', type=str, dest='sm_path', default=None, - help='Path to SourceMod') -parser.options.add_argument('--jansson-path', type=str, dest='jansson_path', default=None, - help='Path to jansson') -parser.options.add_argument('--enable-debug', action='store_const', const='1', dest='debug', - help='Enable debugging symbols') -parser.options.add_argument('--enable-optimize', action='store_const', const='1', dest='opt', - help='Enable optimization') -parser.options.add_argument('-s', '--sdks', default='all', dest='sdks', - help='Build against specified SDKs; valid args are "all", "present", or ' - 'comma-delimited list of engine names (default: %default)') -parser.options.add_argument('--targets', type=str, dest='targets', default=None, - help="Override the target architecture (use commas to separate multiple targets).") - -parser.Configure() diff --git a/product.version b/product.version new file mode 100644 index 0000000..7dea76e --- /dev/null +++ b/product.version @@ -0,0 +1 @@ +1.0.1 diff --git a/sm-ext-common b/sm-ext-common new file mode 160000 index 0000000..2adde8c --- /dev/null +++ b/sm-ext-common @@ -0,0 +1 @@ +Subproject commit 2adde8cc6fdb3e32beee27349af1beb1769a5872 diff --git a/src/AMBuilder b/src/AMBuilder new file mode 100644 index 0000000..0341ff3 --- /dev/null +++ b/src/AMBuilder @@ -0,0 +1,76 @@ +# vim: set sts=2 ts=8 sw=2 tw=99 et ft=python: +import os + +projectName = 'smjansson' + +project = builder.LibraryProject(projectName) + +# Resolve extension source file +ext_source = os.path.join(Extension.ext_root, 'src', 'extension.cpp') +if not os.path.exists(ext_source): + ext_source = os.path.join(Extension.ext_root, 'extension.cpp') + +# Source files to compile +project.sources += [ + ext_source, + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'dump.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'error.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'hashtable.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'hashtable_seed.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'load.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'memory.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'pack_unpack.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'strbuffer.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'strconv.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'utf.c'), + os.path.join(Extension.ext_root, 'src', 'jansson', 'src', 'value.c'), + os.path.join(Extension.sm_root, 'public', 'smsdk_ext.cpp'), +] + +# Include paths for Jansson headers +jansson_inc = [ + os.path.join(Extension.ext_root, 'src', 'jansson', 'src'), + os.path.join(Extension.ext_root, 'src', 'jansson'), +] + +for sdk_name in Extension.sdks: + sdk = Extension.sdks[sdk_name] + if sdk['name'] in ['mock']: + continue + + for cxx in builder.targets: + if not cxx.target.arch in sdk['platforms'][cxx.target.platform]: + continue + + binary = Extension.HL2ExtConfig( + project, builder, cxx, projectName + '.ext', sdk + ) + + binary.compiler.includes += jansson_inc + binary.compiler.cxxincludes += jansson_inc + + # Cross-platform mandatory defines + binary.compiler.defines += [ + 'HAVE_STDINT_H', + 'HAVE_STRING_H', + 'SOURCEMOD_BUILD', + ] + + if cxx.target.platform == 'linux': + binary.compiler.postlink += ['-lpthread', '-lrt'] + elif cxx.target.platform == 'mac': + binary.compiler.cflags += ['-Wno-deprecated-declarations'] + binary.compiler.postlink += ['-framework', 'CoreServices'] + + if cxx.family == 'gcc' or cxx.family == 'clang': + binary.compiler.cxxflags += ['-fno-rtti'] + elif cxx.family == 'msvc': + binary.compiler.cxxflags += ['/GR-'] + binary.compiler.defines += [ + '_CRT_SECURE_NO_WARNINGS', + 'WIN32', + '_WIN32', + 'WIN32_LEAN_AND_MEAN', + ] + +Extension.extensions += builder.Add(project) diff --git a/config.h b/src/config.h similarity index 100% rename from config.h rename to src/config.h diff --git a/extension.cpp b/src/extension.cpp similarity index 100% rename from extension.cpp rename to src/extension.cpp diff --git a/extension.h b/src/extension.h similarity index 93% rename from extension.h rename to src/extension.h index c58229a..ffa3819 100644 --- a/extension.h +++ b/src/extension.h @@ -29,6 +29,19 @@ * Version: $Id$ */ +// To make this compile on windows with the github's CI +#if defined(_MSC_VER) || defined(_WIN32) + #ifndef WIN32_LEAN_AND_MEAN + #define WIN32_LEAN_AND_MEAN + #endif + #include + #include + + #pragma intrinsic(_InterlockedIncrement) + #pragma comment(lib, "kernel32.lib") + #pragma comment(lib, "user32.lib") +#endif + #ifndef _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_ #define _INCLUDE_SOURCEMOD_EXTENSION_PROPER_H_ diff --git a/jansson/CHANGES b/src/jansson/CHANGES similarity index 100% rename from jansson/CHANGES rename to src/jansson/CHANGES diff --git a/jansson/CMakeLists.txt b/src/jansson/CMakeLists.txt similarity index 100% rename from jansson/CMakeLists.txt rename to src/jansson/CMakeLists.txt diff --git a/jansson/LICENSE b/src/jansson/LICENSE similarity index 100% rename from jansson/LICENSE rename to src/jansson/LICENSE diff --git a/jansson/Makefile.am b/src/jansson/Makefile.am similarity index 100% rename from jansson/Makefile.am rename to src/jansson/Makefile.am diff --git a/jansson/Makefile.in b/src/jansson/Makefile.in similarity index 100% rename from jansson/Makefile.in rename to src/jansson/Makefile.in diff --git a/jansson/README.rst b/src/jansson/README.rst similarity index 100% rename from jansson/README.rst rename to src/jansson/README.rst diff --git a/jansson/aclocal.m4 b/src/jansson/aclocal.m4 similarity index 100% rename from jansson/aclocal.m4 rename to src/jansson/aclocal.m4 diff --git a/jansson/cmake/CheckFunctionKeywords.cmake b/src/jansson/cmake/CheckFunctionKeywords.cmake similarity index 100% rename from jansson/cmake/CheckFunctionKeywords.cmake rename to src/jansson/cmake/CheckFunctionKeywords.cmake diff --git a/jansson/cmake/FindSphinx.cmake b/src/jansson/cmake/FindSphinx.cmake similarity index 100% rename from jansson/cmake/FindSphinx.cmake rename to src/jansson/cmake/FindSphinx.cmake diff --git a/jansson/cmake/config.h.cmake b/src/jansson/cmake/config.h.cmake similarity index 100% rename from jansson/cmake/config.h.cmake rename to src/jansson/cmake/config.h.cmake diff --git a/jansson/cmake/jansson_config.h.cmake b/src/jansson/cmake/jansson_config.h.cmake similarity index 100% rename from jansson/cmake/jansson_config.h.cmake rename to src/jansson/cmake/jansson_config.h.cmake diff --git a/jansson/config.guess b/src/jansson/config.guess similarity index 100% rename from jansson/config.guess rename to src/jansson/config.guess diff --git a/jansson/config.h.in b/src/jansson/config.h.in similarity index 100% rename from jansson/config.h.in rename to src/jansson/config.h.in diff --git a/jansson/config.sub b/src/jansson/config.sub similarity index 100% rename from jansson/config.sub rename to src/jansson/config.sub diff --git a/jansson/configure b/src/jansson/configure similarity index 100% rename from jansson/configure rename to src/jansson/configure diff --git a/jansson/configure.ac b/src/jansson/configure.ac similarity index 100% rename from jansson/configure.ac rename to src/jansson/configure.ac diff --git a/jansson/depcomp b/src/jansson/depcomp similarity index 100% rename from jansson/depcomp rename to src/jansson/depcomp diff --git a/jansson/doc/Makefile.am b/src/jansson/doc/Makefile.am similarity index 100% rename from jansson/doc/Makefile.am rename to src/jansson/doc/Makefile.am diff --git a/jansson/doc/Makefile.in b/src/jansson/doc/Makefile.in similarity index 100% rename from jansson/doc/Makefile.in rename to src/jansson/doc/Makefile.in diff --git a/jansson/doc/README b/src/jansson/doc/README similarity index 100% rename from jansson/doc/README rename to src/jansson/doc/README diff --git a/jansson/doc/apiref.rst b/src/jansson/doc/apiref.rst similarity index 100% rename from jansson/doc/apiref.rst rename to src/jansson/doc/apiref.rst diff --git a/jansson/doc/changes.rst b/src/jansson/doc/changes.rst similarity index 100% rename from jansson/doc/changes.rst rename to src/jansson/doc/changes.rst diff --git a/jansson/doc/conf.py b/src/jansson/doc/conf.py similarity index 100% rename from jansson/doc/conf.py rename to src/jansson/doc/conf.py diff --git a/jansson/doc/conformance.rst b/src/jansson/doc/conformance.rst similarity index 100% rename from jansson/doc/conformance.rst rename to src/jansson/doc/conformance.rst diff --git a/jansson/doc/ext/refcounting.py b/src/jansson/doc/ext/refcounting.py similarity index 100% rename from jansson/doc/ext/refcounting.py rename to src/jansson/doc/ext/refcounting.py diff --git a/jansson/doc/gettingstarted.rst b/src/jansson/doc/gettingstarted.rst similarity index 100% rename from jansson/doc/gettingstarted.rst rename to src/jansson/doc/gettingstarted.rst diff --git a/jansson/doc/github_commits.c b/src/jansson/doc/github_commits.c similarity index 100% rename from jansson/doc/github_commits.c rename to src/jansson/doc/github_commits.c diff --git a/jansson/doc/index.rst b/src/jansson/doc/index.rst similarity index 100% rename from jansson/doc/index.rst rename to src/jansson/doc/index.rst diff --git a/jansson/doc/portability.rst b/src/jansson/doc/portability.rst similarity index 100% rename from jansson/doc/portability.rst rename to src/jansson/doc/portability.rst diff --git a/jansson/doc/tutorial.rst b/src/jansson/doc/tutorial.rst similarity index 100% rename from jansson/doc/tutorial.rst rename to src/jansson/doc/tutorial.rst diff --git a/jansson/doc/upgrading.rst b/src/jansson/doc/upgrading.rst similarity index 100% rename from jansson/doc/upgrading.rst rename to src/jansson/doc/upgrading.rst diff --git a/jansson/install-sh b/src/jansson/install-sh similarity index 100% rename from jansson/install-sh rename to src/jansson/install-sh diff --git a/jansson/jansson.pc.in b/src/jansson/jansson.pc.in similarity index 100% rename from jansson/jansson.pc.in rename to src/jansson/jansson.pc.in diff --git a/jansson/ltmain.sh b/src/jansson/ltmain.sh similarity index 100% rename from jansson/ltmain.sh rename to src/jansson/ltmain.sh diff --git a/jansson/missing b/src/jansson/missing similarity index 100% rename from jansson/missing rename to src/jansson/missing diff --git a/jansson/src/Makefile.am b/src/jansson/src/Makefile.am similarity index 100% rename from jansson/src/Makefile.am rename to src/jansson/src/Makefile.am diff --git a/jansson/src/Makefile.in b/src/jansson/src/Makefile.in similarity index 100% rename from jansson/src/Makefile.in rename to src/jansson/src/Makefile.in diff --git a/jansson/src/dump.c b/src/jansson/src/dump.c similarity index 100% rename from jansson/src/dump.c rename to src/jansson/src/dump.c diff --git a/jansson/src/error.c b/src/jansson/src/error.c similarity index 100% rename from jansson/src/error.c rename to src/jansson/src/error.c diff --git a/jansson/src/hashtable.c b/src/jansson/src/hashtable.c similarity index 100% rename from jansson/src/hashtable.c rename to src/jansson/src/hashtable.c diff --git a/jansson/src/hashtable.h b/src/jansson/src/hashtable.h similarity index 100% rename from jansson/src/hashtable.h rename to src/jansson/src/hashtable.h diff --git a/jansson/src/hashtable_seed.c b/src/jansson/src/hashtable_seed.c similarity index 100% rename from jansson/src/hashtable_seed.c rename to src/jansson/src/hashtable_seed.c diff --git a/jansson/src/jansson.def b/src/jansson/src/jansson.def similarity index 100% rename from jansson/src/jansson.def rename to src/jansson/src/jansson.def diff --git a/jansson/src/jansson.h b/src/jansson/src/jansson.h similarity index 100% rename from jansson/src/jansson.h rename to src/jansson/src/jansson.h diff --git a/jansson/src/jansson_config.h b/src/jansson/src/jansson_config.h similarity index 100% rename from jansson/src/jansson_config.h rename to src/jansson/src/jansson_config.h diff --git a/jansson/src/jansson_config.h.in b/src/jansson/src/jansson_config.h.in similarity index 100% rename from jansson/src/jansson_config.h.in rename to src/jansson/src/jansson_config.h.in diff --git a/jansson/src/jansson_private.h b/src/jansson/src/jansson_private.h similarity index 100% rename from jansson/src/jansson_private.h rename to src/jansson/src/jansson_private.h diff --git a/jansson/src/load.c b/src/jansson/src/load.c similarity index 100% rename from jansson/src/load.c rename to src/jansson/src/load.c diff --git a/jansson/src/lookup3.h b/src/jansson/src/lookup3.h similarity index 100% rename from jansson/src/lookup3.h rename to src/jansson/src/lookup3.h diff --git a/jansson/src/memory.c b/src/jansson/src/memory.c similarity index 100% rename from jansson/src/memory.c rename to src/jansson/src/memory.c diff --git a/jansson/src/pack_unpack.c b/src/jansson/src/pack_unpack.c similarity index 100% rename from jansson/src/pack_unpack.c rename to src/jansson/src/pack_unpack.c diff --git a/jansson/src/strbuffer.c b/src/jansson/src/strbuffer.c similarity index 100% rename from jansson/src/strbuffer.c rename to src/jansson/src/strbuffer.c diff --git a/jansson/src/strbuffer.h b/src/jansson/src/strbuffer.h similarity index 100% rename from jansson/src/strbuffer.h rename to src/jansson/src/strbuffer.h diff --git a/jansson/src/strconv.c b/src/jansson/src/strconv.c similarity index 100% rename from jansson/src/strconv.c rename to src/jansson/src/strconv.c diff --git a/jansson/src/utf.c b/src/jansson/src/utf.c similarity index 100% rename from jansson/src/utf.c rename to src/jansson/src/utf.c diff --git a/jansson/src/utf.h b/src/jansson/src/utf.h similarity index 100% rename from jansson/src/utf.h rename to src/jansson/src/utf.h diff --git a/jansson/src/value.c b/src/jansson/src/value.c similarity index 100% rename from jansson/src/value.c rename to src/jansson/src/value.c diff --git a/jansson/test/Makefile.am b/src/jansson/test/Makefile.am similarity index 100% rename from jansson/test/Makefile.am rename to src/jansson/test/Makefile.am diff --git a/jansson/test/Makefile.in b/src/jansson/test/Makefile.in similarity index 100% rename from jansson/test/Makefile.in rename to src/jansson/test/Makefile.in diff --git a/jansson/test/bin/Makefile.am b/src/jansson/test/bin/Makefile.am similarity index 100% rename from jansson/test/bin/Makefile.am rename to src/jansson/test/bin/Makefile.am diff --git a/jansson/test/bin/Makefile.in b/src/jansson/test/bin/Makefile.in similarity index 100% rename from jansson/test/bin/Makefile.in rename to src/jansson/test/bin/Makefile.in diff --git a/jansson/test/bin/json_process.c b/src/jansson/test/bin/json_process.c similarity index 100% rename from jansson/test/bin/json_process.c rename to src/jansson/test/bin/json_process.c diff --git a/jansson/test/run-suites b/src/jansson/test/run-suites similarity index 100% rename from jansson/test/run-suites rename to src/jansson/test/run-suites diff --git a/jansson/test/scripts/run-tests.sh b/src/jansson/test/scripts/run-tests.sh similarity index 100% rename from jansson/test/scripts/run-tests.sh rename to src/jansson/test/scripts/run-tests.sh diff --git a/jansson/test/scripts/valgrind.sh b/src/jansson/test/scripts/valgrind.sh similarity index 100% rename from jansson/test/scripts/valgrind.sh rename to src/jansson/test/scripts/valgrind.sh diff --git a/jansson/test/suites/Makefile.am b/src/jansson/test/suites/Makefile.am similarity index 100% rename from jansson/test/suites/Makefile.am rename to src/jansson/test/suites/Makefile.am diff --git a/jansson/test/suites/Makefile.in b/src/jansson/test/suites/Makefile.in similarity index 100% rename from jansson/test/suites/Makefile.in rename to src/jansson/test/suites/Makefile.in diff --git a/jansson/test/suites/api/Makefile.am b/src/jansson/test/suites/api/Makefile.am similarity index 100% rename from jansson/test/suites/api/Makefile.am rename to src/jansson/test/suites/api/Makefile.am diff --git a/jansson/test/suites/api/Makefile.in b/src/jansson/test/suites/api/Makefile.in similarity index 100% rename from jansson/test/suites/api/Makefile.in rename to src/jansson/test/suites/api/Makefile.in diff --git a/jansson/test/suites/api/check-exports b/src/jansson/test/suites/api/check-exports similarity index 100% rename from jansson/test/suites/api/check-exports rename to src/jansson/test/suites/api/check-exports diff --git a/jansson/test/suites/api/run b/src/jansson/test/suites/api/run similarity index 100% rename from jansson/test/suites/api/run rename to src/jansson/test/suites/api/run diff --git a/jansson/test/suites/api/test_array.c b/src/jansson/test/suites/api/test_array.c similarity index 100% rename from jansson/test/suites/api/test_array.c rename to src/jansson/test/suites/api/test_array.c diff --git a/jansson/test/suites/api/test_copy.c b/src/jansson/test/suites/api/test_copy.c similarity index 100% rename from jansson/test/suites/api/test_copy.c rename to src/jansson/test/suites/api/test_copy.c diff --git a/jansson/test/suites/api/test_dump.c b/src/jansson/test/suites/api/test_dump.c similarity index 100% rename from jansson/test/suites/api/test_dump.c rename to src/jansson/test/suites/api/test_dump.c diff --git a/jansson/test/suites/api/test_dump_callback.c b/src/jansson/test/suites/api/test_dump_callback.c similarity index 100% rename from jansson/test/suites/api/test_dump_callback.c rename to src/jansson/test/suites/api/test_dump_callback.c diff --git a/jansson/test/suites/api/test_equal.c b/src/jansson/test/suites/api/test_equal.c similarity index 100% rename from jansson/test/suites/api/test_equal.c rename to src/jansson/test/suites/api/test_equal.c diff --git a/jansson/test/suites/api/test_load.c b/src/jansson/test/suites/api/test_load.c similarity index 100% rename from jansson/test/suites/api/test_load.c rename to src/jansson/test/suites/api/test_load.c diff --git a/jansson/test/suites/api/test_load_callback.c b/src/jansson/test/suites/api/test_load_callback.c similarity index 100% rename from jansson/test/suites/api/test_load_callback.c rename to src/jansson/test/suites/api/test_load_callback.c diff --git a/jansson/test/suites/api/test_loadb.c b/src/jansson/test/suites/api/test_loadb.c similarity index 100% rename from jansson/test/suites/api/test_loadb.c rename to src/jansson/test/suites/api/test_loadb.c diff --git a/jansson/test/suites/api/test_memory_funcs.c b/src/jansson/test/suites/api/test_memory_funcs.c similarity index 100% rename from jansson/test/suites/api/test_memory_funcs.c rename to src/jansson/test/suites/api/test_memory_funcs.c diff --git a/jansson/test/suites/api/test_number.c b/src/jansson/test/suites/api/test_number.c similarity index 100% rename from jansson/test/suites/api/test_number.c rename to src/jansson/test/suites/api/test_number.c diff --git a/jansson/test/suites/api/test_object.c b/src/jansson/test/suites/api/test_object.c similarity index 100% rename from jansson/test/suites/api/test_object.c rename to src/jansson/test/suites/api/test_object.c diff --git a/jansson/test/suites/api/test_pack.c b/src/jansson/test/suites/api/test_pack.c similarity index 100% rename from jansson/test/suites/api/test_pack.c rename to src/jansson/test/suites/api/test_pack.c diff --git a/jansson/test/suites/api/test_simple.c b/src/jansson/test/suites/api/test_simple.c similarity index 100% rename from jansson/test/suites/api/test_simple.c rename to src/jansson/test/suites/api/test_simple.c diff --git a/jansson/test/suites/api/test_unpack.c b/src/jansson/test/suites/api/test_unpack.c similarity index 100% rename from jansson/test/suites/api/test_unpack.c rename to src/jansson/test/suites/api/test_unpack.c diff --git a/jansson/test/suites/api/util.h b/src/jansson/test/suites/api/util.h similarity index 100% rename from jansson/test/suites/api/util.h rename to src/jansson/test/suites/api/util.h diff --git a/jansson/test/suites/invalid-unicode/encoded-surrogate-half/error b/src/jansson/test/suites/invalid-unicode/encoded-surrogate-half/error similarity index 100% rename from jansson/test/suites/invalid-unicode/encoded-surrogate-half/error rename to src/jansson/test/suites/invalid-unicode/encoded-surrogate-half/error diff --git a/jansson/test/suites/invalid-unicode/encoded-surrogate-half/input b/src/jansson/test/suites/invalid-unicode/encoded-surrogate-half/input similarity index 100% rename from jansson/test/suites/invalid-unicode/encoded-surrogate-half/input rename to src/jansson/test/suites/invalid-unicode/encoded-surrogate-half/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-after-backslash/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-after-backslash/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-after-backslash/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-after-backslash/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-after-backslash/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-after-backslash/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-after-backslash/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-after-backslash/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-array/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-array/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-array/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-array/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-array/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-array/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-array/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-array/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-bigger-int/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-escape/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-escape/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-escape/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-escape/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-escape/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-escape/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-escape/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-escape/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-exponent/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-exponent/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-exponent/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-exponent/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-exponent/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-exponent/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-exponent/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-exponent/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-identifier/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-identifier/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-identifier/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-identifier/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-identifier/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-identifier/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-identifier/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-identifier/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-int/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-int/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-int/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-int/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-int/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-int/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-int/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-int/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-real-after-e/input diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-string/error b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-string/error similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-string/error rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-string/error diff --git a/jansson/test/suites/invalid-unicode/invalid-utf-8-in-string/input b/src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-string/input similarity index 100% rename from jansson/test/suites/invalid-unicode/invalid-utf-8-in-string/input rename to src/jansson/test/suites/invalid-unicode/invalid-utf-8-in-string/input diff --git a/jansson/test/suites/invalid-unicode/lone-invalid-utf-8/error b/src/jansson/test/suites/invalid-unicode/lone-invalid-utf-8/error similarity index 100% rename from jansson/test/suites/invalid-unicode/lone-invalid-utf-8/error rename to src/jansson/test/suites/invalid-unicode/lone-invalid-utf-8/error diff --git a/jansson/test/suites/invalid-unicode/lone-invalid-utf-8/input b/src/jansson/test/suites/invalid-unicode/lone-invalid-utf-8/input similarity index 100% rename from jansson/test/suites/invalid-unicode/lone-invalid-utf-8/input rename to src/jansson/test/suites/invalid-unicode/lone-invalid-utf-8/input diff --git a/jansson/test/suites/invalid-unicode/lone-utf-8-continuation-byte/error b/src/jansson/test/suites/invalid-unicode/lone-utf-8-continuation-byte/error similarity index 100% rename from jansson/test/suites/invalid-unicode/lone-utf-8-continuation-byte/error rename to src/jansson/test/suites/invalid-unicode/lone-utf-8-continuation-byte/error diff --git a/jansson/test/suites/invalid-unicode/lone-utf-8-continuation-byte/input b/src/jansson/test/suites/invalid-unicode/lone-utf-8-continuation-byte/input similarity index 100% rename from jansson/test/suites/invalid-unicode/lone-utf-8-continuation-byte/input rename to src/jansson/test/suites/invalid-unicode/lone-utf-8-continuation-byte/input diff --git a/jansson/test/suites/invalid-unicode/not-in-unicode-range/error b/src/jansson/test/suites/invalid-unicode/not-in-unicode-range/error similarity index 100% rename from jansson/test/suites/invalid-unicode/not-in-unicode-range/error rename to src/jansson/test/suites/invalid-unicode/not-in-unicode-range/error diff --git a/jansson/test/suites/invalid-unicode/not-in-unicode-range/input b/src/jansson/test/suites/invalid-unicode/not-in-unicode-range/input similarity index 100% rename from jansson/test/suites/invalid-unicode/not-in-unicode-range/input rename to src/jansson/test/suites/invalid-unicode/not-in-unicode-range/input diff --git a/jansson/test/suites/invalid-unicode/overlong-3-byte-encoding/error b/src/jansson/test/suites/invalid-unicode/overlong-3-byte-encoding/error similarity index 100% rename from jansson/test/suites/invalid-unicode/overlong-3-byte-encoding/error rename to src/jansson/test/suites/invalid-unicode/overlong-3-byte-encoding/error diff --git a/jansson/test/suites/invalid-unicode/overlong-3-byte-encoding/input b/src/jansson/test/suites/invalid-unicode/overlong-3-byte-encoding/input similarity index 100% rename from jansson/test/suites/invalid-unicode/overlong-3-byte-encoding/input rename to src/jansson/test/suites/invalid-unicode/overlong-3-byte-encoding/input diff --git a/jansson/test/suites/invalid-unicode/overlong-4-byte-encoding/error b/src/jansson/test/suites/invalid-unicode/overlong-4-byte-encoding/error similarity index 100% rename from jansson/test/suites/invalid-unicode/overlong-4-byte-encoding/error rename to src/jansson/test/suites/invalid-unicode/overlong-4-byte-encoding/error diff --git a/jansson/test/suites/invalid-unicode/overlong-4-byte-encoding/input b/src/jansson/test/suites/invalid-unicode/overlong-4-byte-encoding/input similarity index 100% rename from jansson/test/suites/invalid-unicode/overlong-4-byte-encoding/input rename to src/jansson/test/suites/invalid-unicode/overlong-4-byte-encoding/input diff --git a/jansson/test/suites/invalid-unicode/overlong-ascii-encoding/error b/src/jansson/test/suites/invalid-unicode/overlong-ascii-encoding/error similarity index 100% rename from jansson/test/suites/invalid-unicode/overlong-ascii-encoding/error rename to src/jansson/test/suites/invalid-unicode/overlong-ascii-encoding/error diff --git a/jansson/test/suites/invalid-unicode/overlong-ascii-encoding/input b/src/jansson/test/suites/invalid-unicode/overlong-ascii-encoding/input similarity index 100% rename from jansson/test/suites/invalid-unicode/overlong-ascii-encoding/input rename to src/jansson/test/suites/invalid-unicode/overlong-ascii-encoding/input diff --git a/jansson/test/suites/invalid-unicode/restricted-utf-8/error b/src/jansson/test/suites/invalid-unicode/restricted-utf-8/error similarity index 100% rename from jansson/test/suites/invalid-unicode/restricted-utf-8/error rename to src/jansson/test/suites/invalid-unicode/restricted-utf-8/error diff --git a/jansson/test/suites/invalid-unicode/restricted-utf-8/input b/src/jansson/test/suites/invalid-unicode/restricted-utf-8/input similarity index 100% rename from jansson/test/suites/invalid-unicode/restricted-utf-8/input rename to src/jansson/test/suites/invalid-unicode/restricted-utf-8/input diff --git a/jansson/test/suites/invalid-unicode/run b/src/jansson/test/suites/invalid-unicode/run similarity index 100% rename from jansson/test/suites/invalid-unicode/run rename to src/jansson/test/suites/invalid-unicode/run diff --git a/jansson/test/suites/invalid-unicode/truncated-utf-8/error b/src/jansson/test/suites/invalid-unicode/truncated-utf-8/error similarity index 100% rename from jansson/test/suites/invalid-unicode/truncated-utf-8/error rename to src/jansson/test/suites/invalid-unicode/truncated-utf-8/error diff --git a/jansson/test/suites/invalid-unicode/truncated-utf-8/input b/src/jansson/test/suites/invalid-unicode/truncated-utf-8/input similarity index 100% rename from jansson/test/suites/invalid-unicode/truncated-utf-8/input rename to src/jansson/test/suites/invalid-unicode/truncated-utf-8/input diff --git a/jansson/test/suites/invalid/apostrophe/error b/src/jansson/test/suites/invalid/apostrophe/error similarity index 100% rename from jansson/test/suites/invalid/apostrophe/error rename to src/jansson/test/suites/invalid/apostrophe/error diff --git a/jansson/test/suites/invalid/apostrophe/input b/src/jansson/test/suites/invalid/apostrophe/input similarity index 100% rename from jansson/test/suites/invalid/apostrophe/input rename to src/jansson/test/suites/invalid/apostrophe/input diff --git a/jansson/test/suites/invalid/ascii-unicode-identifier/error b/src/jansson/test/suites/invalid/ascii-unicode-identifier/error similarity index 100% rename from jansson/test/suites/invalid/ascii-unicode-identifier/error rename to src/jansson/test/suites/invalid/ascii-unicode-identifier/error diff --git a/jansson/test/suites/invalid/ascii-unicode-identifier/input b/src/jansson/test/suites/invalid/ascii-unicode-identifier/input similarity index 100% rename from jansson/test/suites/invalid/ascii-unicode-identifier/input rename to src/jansson/test/suites/invalid/ascii-unicode-identifier/input diff --git a/jansson/test/suites/invalid/brace-comma/error b/src/jansson/test/suites/invalid/brace-comma/error similarity index 100% rename from jansson/test/suites/invalid/brace-comma/error rename to src/jansson/test/suites/invalid/brace-comma/error diff --git a/jansson/test/suites/invalid/brace-comma/input b/src/jansson/test/suites/invalid/brace-comma/input similarity index 100% rename from jansson/test/suites/invalid/brace-comma/input rename to src/jansson/test/suites/invalid/brace-comma/input diff --git a/jansson/test/suites/invalid/bracket-comma/error b/src/jansson/test/suites/invalid/bracket-comma/error similarity index 100% rename from jansson/test/suites/invalid/bracket-comma/error rename to src/jansson/test/suites/invalid/bracket-comma/error diff --git a/jansson/test/suites/invalid/bracket-comma/input b/src/jansson/test/suites/invalid/bracket-comma/input similarity index 100% rename from jansson/test/suites/invalid/bracket-comma/input rename to src/jansson/test/suites/invalid/bracket-comma/input diff --git a/jansson/test/suites/invalid/bracket-one-comma/error.normal b/src/jansson/test/suites/invalid/bracket-one-comma/error.normal similarity index 100% rename from jansson/test/suites/invalid/bracket-one-comma/error.normal rename to src/jansson/test/suites/invalid/bracket-one-comma/error.normal diff --git a/jansson/test/suites/invalid/bracket-one-comma/error.strip b/src/jansson/test/suites/invalid/bracket-one-comma/error.strip similarity index 100% rename from jansson/test/suites/invalid/bracket-one-comma/error.strip rename to src/jansson/test/suites/invalid/bracket-one-comma/error.strip diff --git a/jansson/test/suites/invalid/bracket-one-comma/input b/src/jansson/test/suites/invalid/bracket-one-comma/input similarity index 100% rename from jansson/test/suites/invalid/bracket-one-comma/input rename to src/jansson/test/suites/invalid/bracket-one-comma/input diff --git a/jansson/test/suites/invalid/empty/error b/src/jansson/test/suites/invalid/empty/error similarity index 100% rename from jansson/test/suites/invalid/empty/error rename to src/jansson/test/suites/invalid/empty/error diff --git a/jansson/test/suites/invalid/empty/input b/src/jansson/test/suites/invalid/empty/input similarity index 100% rename from jansson/test/suites/invalid/empty/input rename to src/jansson/test/suites/invalid/empty/input diff --git a/jansson/test/suites/invalid/escaped-null-byte-in-string/error b/src/jansson/test/suites/invalid/escaped-null-byte-in-string/error similarity index 100% rename from jansson/test/suites/invalid/escaped-null-byte-in-string/error rename to src/jansson/test/suites/invalid/escaped-null-byte-in-string/error diff --git a/jansson/test/suites/invalid/escaped-null-byte-in-string/input b/src/jansson/test/suites/invalid/escaped-null-byte-in-string/input similarity index 100% rename from jansson/test/suites/invalid/escaped-null-byte-in-string/input rename to src/jansson/test/suites/invalid/escaped-null-byte-in-string/input diff --git a/jansson/test/suites/invalid/extra-comma-in-array/error b/src/jansson/test/suites/invalid/extra-comma-in-array/error similarity index 100% rename from jansson/test/suites/invalid/extra-comma-in-array/error rename to src/jansson/test/suites/invalid/extra-comma-in-array/error diff --git a/jansson/test/suites/invalid/extra-comma-in-array/input b/src/jansson/test/suites/invalid/extra-comma-in-array/input similarity index 100% rename from jansson/test/suites/invalid/extra-comma-in-array/input rename to src/jansson/test/suites/invalid/extra-comma-in-array/input diff --git a/jansson/test/suites/invalid/extra-comma-in-multiline-array/error b/src/jansson/test/suites/invalid/extra-comma-in-multiline-array/error similarity index 100% rename from jansson/test/suites/invalid/extra-comma-in-multiline-array/error rename to src/jansson/test/suites/invalid/extra-comma-in-multiline-array/error diff --git a/jansson/test/suites/invalid/extra-comma-in-multiline-array/input b/src/jansson/test/suites/invalid/extra-comma-in-multiline-array/input similarity index 100% rename from jansson/test/suites/invalid/extra-comma-in-multiline-array/input rename to src/jansson/test/suites/invalid/extra-comma-in-multiline-array/input diff --git a/jansson/test/suites/invalid/garbage-after-newline/error b/src/jansson/test/suites/invalid/garbage-after-newline/error similarity index 100% rename from jansson/test/suites/invalid/garbage-after-newline/error rename to src/jansson/test/suites/invalid/garbage-after-newline/error diff --git a/jansson/test/suites/invalid/garbage-after-newline/input b/src/jansson/test/suites/invalid/garbage-after-newline/input similarity index 100% rename from jansson/test/suites/invalid/garbage-after-newline/input rename to src/jansson/test/suites/invalid/garbage-after-newline/input diff --git a/jansson/test/suites/invalid/garbage-at-the-end/error b/src/jansson/test/suites/invalid/garbage-at-the-end/error similarity index 100% rename from jansson/test/suites/invalid/garbage-at-the-end/error rename to src/jansson/test/suites/invalid/garbage-at-the-end/error diff --git a/jansson/test/suites/invalid/garbage-at-the-end/input b/src/jansson/test/suites/invalid/garbage-at-the-end/input similarity index 100% rename from jansson/test/suites/invalid/garbage-at-the-end/input rename to src/jansson/test/suites/invalid/garbage-at-the-end/input diff --git a/jansson/test/suites/invalid/integer-starting-with-zero/error b/src/jansson/test/suites/invalid/integer-starting-with-zero/error similarity index 100% rename from jansson/test/suites/invalid/integer-starting-with-zero/error rename to src/jansson/test/suites/invalid/integer-starting-with-zero/error diff --git a/jansson/test/suites/invalid/integer-starting-with-zero/input b/src/jansson/test/suites/invalid/integer-starting-with-zero/input similarity index 100% rename from jansson/test/suites/invalid/integer-starting-with-zero/input rename to src/jansson/test/suites/invalid/integer-starting-with-zero/input diff --git a/jansson/test/suites/invalid/invalid-escape/error b/src/jansson/test/suites/invalid/invalid-escape/error similarity index 100% rename from jansson/test/suites/invalid/invalid-escape/error rename to src/jansson/test/suites/invalid/invalid-escape/error diff --git a/jansson/test/suites/invalid/invalid-escape/input b/src/jansson/test/suites/invalid/invalid-escape/input similarity index 100% rename from jansson/test/suites/invalid/invalid-escape/input rename to src/jansson/test/suites/invalid/invalid-escape/input diff --git a/jansson/test/suites/invalid/invalid-identifier/error b/src/jansson/test/suites/invalid/invalid-identifier/error similarity index 100% rename from jansson/test/suites/invalid/invalid-identifier/error rename to src/jansson/test/suites/invalid/invalid-identifier/error diff --git a/jansson/test/suites/invalid/invalid-identifier/input b/src/jansson/test/suites/invalid/invalid-identifier/input similarity index 100% rename from jansson/test/suites/invalid/invalid-identifier/input rename to src/jansson/test/suites/invalid/invalid-identifier/input diff --git a/jansson/test/suites/invalid/invalid-negative-integer/error b/src/jansson/test/suites/invalid/invalid-negative-integer/error similarity index 100% rename from jansson/test/suites/invalid/invalid-negative-integer/error rename to src/jansson/test/suites/invalid/invalid-negative-integer/error diff --git a/jansson/test/suites/invalid/invalid-negative-integer/input b/src/jansson/test/suites/invalid/invalid-negative-integer/input similarity index 100% rename from jansson/test/suites/invalid/invalid-negative-integer/input rename to src/jansson/test/suites/invalid/invalid-negative-integer/input diff --git a/jansson/test/suites/invalid/invalid-negative-real/error b/src/jansson/test/suites/invalid/invalid-negative-real/error similarity index 100% rename from jansson/test/suites/invalid/invalid-negative-real/error rename to src/jansson/test/suites/invalid/invalid-negative-real/error diff --git a/jansson/test/suites/invalid/invalid-negative-real/input b/src/jansson/test/suites/invalid/invalid-negative-real/input similarity index 100% rename from jansson/test/suites/invalid/invalid-negative-real/input rename to src/jansson/test/suites/invalid/invalid-negative-real/input diff --git a/jansson/test/suites/invalid/invalid-second-surrogate/error b/src/jansson/test/suites/invalid/invalid-second-surrogate/error similarity index 100% rename from jansson/test/suites/invalid/invalid-second-surrogate/error rename to src/jansson/test/suites/invalid/invalid-second-surrogate/error diff --git a/jansson/test/suites/invalid/invalid-second-surrogate/input b/src/jansson/test/suites/invalid/invalid-second-surrogate/input similarity index 100% rename from jansson/test/suites/invalid/invalid-second-surrogate/input rename to src/jansson/test/suites/invalid/invalid-second-surrogate/input diff --git a/jansson/test/suites/invalid/lone-open-brace/error.normal b/src/jansson/test/suites/invalid/lone-open-brace/error.normal similarity index 100% rename from jansson/test/suites/invalid/lone-open-brace/error.normal rename to src/jansson/test/suites/invalid/lone-open-brace/error.normal diff --git a/jansson/test/suites/invalid/lone-open-brace/error.strip b/src/jansson/test/suites/invalid/lone-open-brace/error.strip similarity index 100% rename from jansson/test/suites/invalid/lone-open-brace/error.strip rename to src/jansson/test/suites/invalid/lone-open-brace/error.strip diff --git a/jansson/test/suites/invalid/lone-open-brace/input b/src/jansson/test/suites/invalid/lone-open-brace/input similarity index 100% rename from jansson/test/suites/invalid/lone-open-brace/input rename to src/jansson/test/suites/invalid/lone-open-brace/input diff --git a/jansson/test/suites/invalid/lone-open-bracket/error.normal b/src/jansson/test/suites/invalid/lone-open-bracket/error.normal similarity index 100% rename from jansson/test/suites/invalid/lone-open-bracket/error.normal rename to src/jansson/test/suites/invalid/lone-open-bracket/error.normal diff --git a/jansson/test/suites/invalid/lone-open-bracket/error.strip b/src/jansson/test/suites/invalid/lone-open-bracket/error.strip similarity index 100% rename from jansson/test/suites/invalid/lone-open-bracket/error.strip rename to src/jansson/test/suites/invalid/lone-open-bracket/error.strip diff --git a/jansson/test/suites/invalid/lone-open-bracket/input b/src/jansson/test/suites/invalid/lone-open-bracket/input similarity index 100% rename from jansson/test/suites/invalid/lone-open-bracket/input rename to src/jansson/test/suites/invalid/lone-open-bracket/input diff --git a/jansson/test/suites/invalid/lone-second-surrogate/error b/src/jansson/test/suites/invalid/lone-second-surrogate/error similarity index 100% rename from jansson/test/suites/invalid/lone-second-surrogate/error rename to src/jansson/test/suites/invalid/lone-second-surrogate/error diff --git a/jansson/test/suites/invalid/lone-second-surrogate/input b/src/jansson/test/suites/invalid/lone-second-surrogate/input similarity index 100% rename from jansson/test/suites/invalid/lone-second-surrogate/input rename to src/jansson/test/suites/invalid/lone-second-surrogate/input diff --git a/jansson/test/suites/invalid/minus-sign-without-number/error b/src/jansson/test/suites/invalid/minus-sign-without-number/error similarity index 100% rename from jansson/test/suites/invalid/minus-sign-without-number/error rename to src/jansson/test/suites/invalid/minus-sign-without-number/error diff --git a/jansson/test/suites/invalid/minus-sign-without-number/input b/src/jansson/test/suites/invalid/minus-sign-without-number/input similarity index 100% rename from jansson/test/suites/invalid/minus-sign-without-number/input rename to src/jansson/test/suites/invalid/minus-sign-without-number/input diff --git a/jansson/test/suites/invalid/negative-integer-starting-with-zero/error b/src/jansson/test/suites/invalid/negative-integer-starting-with-zero/error similarity index 100% rename from jansson/test/suites/invalid/negative-integer-starting-with-zero/error rename to src/jansson/test/suites/invalid/negative-integer-starting-with-zero/error diff --git a/jansson/test/suites/invalid/negative-integer-starting-with-zero/input b/src/jansson/test/suites/invalid/negative-integer-starting-with-zero/input similarity index 100% rename from jansson/test/suites/invalid/negative-integer-starting-with-zero/input rename to src/jansson/test/suites/invalid/negative-integer-starting-with-zero/input diff --git a/jansson/test/suites/invalid/null-byte-in-string/error b/src/jansson/test/suites/invalid/null-byte-in-string/error similarity index 100% rename from jansson/test/suites/invalid/null-byte-in-string/error rename to src/jansson/test/suites/invalid/null-byte-in-string/error diff --git a/jansson/test/suites/invalid/null-byte-in-string/input b/src/jansson/test/suites/invalid/null-byte-in-string/input similarity index 100% rename from jansson/test/suites/invalid/null-byte-in-string/input rename to src/jansson/test/suites/invalid/null-byte-in-string/input diff --git a/jansson/test/suites/invalid/null-byte-in-string/nostrip b/src/jansson/test/suites/invalid/null-byte-in-string/nostrip similarity index 100% rename from jansson/test/suites/invalid/null-byte-in-string/nostrip rename to src/jansson/test/suites/invalid/null-byte-in-string/nostrip diff --git a/jansson/test/suites/invalid/null-byte-outside-string/error b/src/jansson/test/suites/invalid/null-byte-outside-string/error similarity index 100% rename from jansson/test/suites/invalid/null-byte-outside-string/error rename to src/jansson/test/suites/invalid/null-byte-outside-string/error diff --git a/jansson/test/suites/invalid/null-byte-outside-string/input b/src/jansson/test/suites/invalid/null-byte-outside-string/input similarity index 100% rename from jansson/test/suites/invalid/null-byte-outside-string/input rename to src/jansson/test/suites/invalid/null-byte-outside-string/input diff --git a/jansson/test/suites/invalid/null-byte-outside-string/nostrip b/src/jansson/test/suites/invalid/null-byte-outside-string/nostrip similarity index 100% rename from jansson/test/suites/invalid/null-byte-outside-string/nostrip rename to src/jansson/test/suites/invalid/null-byte-outside-string/nostrip diff --git a/jansson/test/suites/invalid/null/error b/src/jansson/test/suites/invalid/null/error similarity index 100% rename from jansson/test/suites/invalid/null/error rename to src/jansson/test/suites/invalid/null/error diff --git a/jansson/test/suites/invalid/null/input b/src/jansson/test/suites/invalid/null/input similarity index 100% rename from jansson/test/suites/invalid/null/input rename to src/jansson/test/suites/invalid/null/input diff --git a/jansson/test/suites/invalid/object-apostrophes/error b/src/jansson/test/suites/invalid/object-apostrophes/error similarity index 100% rename from jansson/test/suites/invalid/object-apostrophes/error rename to src/jansson/test/suites/invalid/object-apostrophes/error diff --git a/jansson/test/suites/invalid/object-apostrophes/input b/src/jansson/test/suites/invalid/object-apostrophes/input similarity index 100% rename from jansson/test/suites/invalid/object-apostrophes/input rename to src/jansson/test/suites/invalid/object-apostrophes/input diff --git a/jansson/test/suites/invalid/object-garbage-at-end/error b/src/jansson/test/suites/invalid/object-garbage-at-end/error similarity index 100% rename from jansson/test/suites/invalid/object-garbage-at-end/error rename to src/jansson/test/suites/invalid/object-garbage-at-end/error diff --git a/jansson/test/suites/invalid/object-garbage-at-end/input b/src/jansson/test/suites/invalid/object-garbage-at-end/input similarity index 100% rename from jansson/test/suites/invalid/object-garbage-at-end/input rename to src/jansson/test/suites/invalid/object-garbage-at-end/input diff --git a/jansson/test/suites/invalid/object-in-unterminated-array/error.normal b/src/jansson/test/suites/invalid/object-in-unterminated-array/error.normal similarity index 100% rename from jansson/test/suites/invalid/object-in-unterminated-array/error.normal rename to src/jansson/test/suites/invalid/object-in-unterminated-array/error.normal diff --git a/jansson/test/suites/invalid/object-in-unterminated-array/error.strip b/src/jansson/test/suites/invalid/object-in-unterminated-array/error.strip similarity index 100% rename from jansson/test/suites/invalid/object-in-unterminated-array/error.strip rename to src/jansson/test/suites/invalid/object-in-unterminated-array/error.strip diff --git a/jansson/test/suites/invalid/object-in-unterminated-array/input b/src/jansson/test/suites/invalid/object-in-unterminated-array/input similarity index 100% rename from jansson/test/suites/invalid/object-in-unterminated-array/input rename to src/jansson/test/suites/invalid/object-in-unterminated-array/input diff --git a/jansson/test/suites/invalid/object-no-colon/error.normal b/src/jansson/test/suites/invalid/object-no-colon/error.normal similarity index 100% rename from jansson/test/suites/invalid/object-no-colon/error.normal rename to src/jansson/test/suites/invalid/object-no-colon/error.normal diff --git a/jansson/test/suites/invalid/object-no-colon/error.strip b/src/jansson/test/suites/invalid/object-no-colon/error.strip similarity index 100% rename from jansson/test/suites/invalid/object-no-colon/error.strip rename to src/jansson/test/suites/invalid/object-no-colon/error.strip diff --git a/jansson/test/suites/invalid/object-no-colon/input b/src/jansson/test/suites/invalid/object-no-colon/input similarity index 100% rename from jansson/test/suites/invalid/object-no-colon/input rename to src/jansson/test/suites/invalid/object-no-colon/input diff --git a/jansson/test/suites/invalid/object-no-value/error.normal b/src/jansson/test/suites/invalid/object-no-value/error.normal similarity index 100% rename from jansson/test/suites/invalid/object-no-value/error.normal rename to src/jansson/test/suites/invalid/object-no-value/error.normal diff --git a/jansson/test/suites/invalid/object-no-value/error.strip b/src/jansson/test/suites/invalid/object-no-value/error.strip similarity index 100% rename from jansson/test/suites/invalid/object-no-value/error.strip rename to src/jansson/test/suites/invalid/object-no-value/error.strip diff --git a/jansson/test/suites/invalid/object-no-value/input b/src/jansson/test/suites/invalid/object-no-value/input similarity index 100% rename from jansson/test/suites/invalid/object-no-value/input rename to src/jansson/test/suites/invalid/object-no-value/input diff --git a/jansson/test/suites/invalid/object-unterminated-value/error.normal b/src/jansson/test/suites/invalid/object-unterminated-value/error.normal similarity index 100% rename from jansson/test/suites/invalid/object-unterminated-value/error.normal rename to src/jansson/test/suites/invalid/object-unterminated-value/error.normal diff --git a/jansson/test/suites/invalid/object-unterminated-value/error.strip b/src/jansson/test/suites/invalid/object-unterminated-value/error.strip similarity index 100% rename from jansson/test/suites/invalid/object-unterminated-value/error.strip rename to src/jansson/test/suites/invalid/object-unterminated-value/error.strip diff --git a/jansson/test/suites/invalid/object-unterminated-value/input b/src/jansson/test/suites/invalid/object-unterminated-value/input similarity index 100% rename from jansson/test/suites/invalid/object-unterminated-value/input rename to src/jansson/test/suites/invalid/object-unterminated-value/input diff --git a/jansson/test/suites/invalid/real-garbage-after-e/error b/src/jansson/test/suites/invalid/real-garbage-after-e/error similarity index 100% rename from jansson/test/suites/invalid/real-garbage-after-e/error rename to src/jansson/test/suites/invalid/real-garbage-after-e/error diff --git a/jansson/test/suites/invalid/real-garbage-after-e/input b/src/jansson/test/suites/invalid/real-garbage-after-e/input similarity index 100% rename from jansson/test/suites/invalid/real-garbage-after-e/input rename to src/jansson/test/suites/invalid/real-garbage-after-e/input diff --git a/jansson/test/suites/invalid/real-negative-overflow/error b/src/jansson/test/suites/invalid/real-negative-overflow/error similarity index 100% rename from jansson/test/suites/invalid/real-negative-overflow/error rename to src/jansson/test/suites/invalid/real-negative-overflow/error diff --git a/jansson/test/suites/invalid/real-negative-overflow/input b/src/jansson/test/suites/invalid/real-negative-overflow/input similarity index 100% rename from jansson/test/suites/invalid/real-negative-overflow/input rename to src/jansson/test/suites/invalid/real-negative-overflow/input diff --git a/jansson/test/suites/invalid/real-positive-overflow/error b/src/jansson/test/suites/invalid/real-positive-overflow/error similarity index 100% rename from jansson/test/suites/invalid/real-positive-overflow/error rename to src/jansson/test/suites/invalid/real-positive-overflow/error diff --git a/jansson/test/suites/invalid/real-positive-overflow/input b/src/jansson/test/suites/invalid/real-positive-overflow/input similarity index 100% rename from jansson/test/suites/invalid/real-positive-overflow/input rename to src/jansson/test/suites/invalid/real-positive-overflow/input diff --git a/jansson/test/suites/invalid/real-truncated-at-e/error b/src/jansson/test/suites/invalid/real-truncated-at-e/error similarity index 100% rename from jansson/test/suites/invalid/real-truncated-at-e/error rename to src/jansson/test/suites/invalid/real-truncated-at-e/error diff --git a/jansson/test/suites/invalid/real-truncated-at-e/input b/src/jansson/test/suites/invalid/real-truncated-at-e/input similarity index 100% rename from jansson/test/suites/invalid/real-truncated-at-e/input rename to src/jansson/test/suites/invalid/real-truncated-at-e/input diff --git a/jansson/test/suites/invalid/real-truncated-at-point/error b/src/jansson/test/suites/invalid/real-truncated-at-point/error similarity index 100% rename from jansson/test/suites/invalid/real-truncated-at-point/error rename to src/jansson/test/suites/invalid/real-truncated-at-point/error diff --git a/jansson/test/suites/invalid/real-truncated-at-point/input b/src/jansson/test/suites/invalid/real-truncated-at-point/input similarity index 100% rename from jansson/test/suites/invalid/real-truncated-at-point/input rename to src/jansson/test/suites/invalid/real-truncated-at-point/input diff --git a/jansson/test/suites/invalid/run b/src/jansson/test/suites/invalid/run similarity index 100% rename from jansson/test/suites/invalid/run rename to src/jansson/test/suites/invalid/run diff --git a/jansson/test/suites/invalid/tab-character-in-string/error b/src/jansson/test/suites/invalid/tab-character-in-string/error similarity index 100% rename from jansson/test/suites/invalid/tab-character-in-string/error rename to src/jansson/test/suites/invalid/tab-character-in-string/error diff --git a/jansson/test/suites/invalid/tab-character-in-string/input b/src/jansson/test/suites/invalid/tab-character-in-string/input similarity index 100% rename from jansson/test/suites/invalid/tab-character-in-string/input rename to src/jansson/test/suites/invalid/tab-character-in-string/input diff --git a/jansson/test/suites/invalid/too-big-negative-integer/error b/src/jansson/test/suites/invalid/too-big-negative-integer/error similarity index 100% rename from jansson/test/suites/invalid/too-big-negative-integer/error rename to src/jansson/test/suites/invalid/too-big-negative-integer/error diff --git a/jansson/test/suites/invalid/too-big-negative-integer/input b/src/jansson/test/suites/invalid/too-big-negative-integer/input similarity index 100% rename from jansson/test/suites/invalid/too-big-negative-integer/input rename to src/jansson/test/suites/invalid/too-big-negative-integer/input diff --git a/jansson/test/suites/invalid/too-big-positive-integer/error b/src/jansson/test/suites/invalid/too-big-positive-integer/error similarity index 100% rename from jansson/test/suites/invalid/too-big-positive-integer/error rename to src/jansson/test/suites/invalid/too-big-positive-integer/error diff --git a/jansson/test/suites/invalid/too-big-positive-integer/input b/src/jansson/test/suites/invalid/too-big-positive-integer/input similarity index 100% rename from jansson/test/suites/invalid/too-big-positive-integer/input rename to src/jansson/test/suites/invalid/too-big-positive-integer/input diff --git a/jansson/test/suites/invalid/truncated-unicode-surrogate/error b/src/jansson/test/suites/invalid/truncated-unicode-surrogate/error similarity index 100% rename from jansson/test/suites/invalid/truncated-unicode-surrogate/error rename to src/jansson/test/suites/invalid/truncated-unicode-surrogate/error diff --git a/jansson/test/suites/invalid/truncated-unicode-surrogate/input b/src/jansson/test/suites/invalid/truncated-unicode-surrogate/input similarity index 100% rename from jansson/test/suites/invalid/truncated-unicode-surrogate/input rename to src/jansson/test/suites/invalid/truncated-unicode-surrogate/input diff --git a/jansson/test/suites/invalid/unicode-identifier/error b/src/jansson/test/suites/invalid/unicode-identifier/error similarity index 100% rename from jansson/test/suites/invalid/unicode-identifier/error rename to src/jansson/test/suites/invalid/unicode-identifier/error diff --git a/jansson/test/suites/invalid/unicode-identifier/input b/src/jansson/test/suites/invalid/unicode-identifier/input similarity index 100% rename from jansson/test/suites/invalid/unicode-identifier/input rename to src/jansson/test/suites/invalid/unicode-identifier/input diff --git a/jansson/test/suites/invalid/unterminated-array-and-object/error.normal b/src/jansson/test/suites/invalid/unterminated-array-and-object/error.normal similarity index 100% rename from jansson/test/suites/invalid/unterminated-array-and-object/error.normal rename to src/jansson/test/suites/invalid/unterminated-array-and-object/error.normal diff --git a/jansson/test/suites/invalid/unterminated-array-and-object/error.strip b/src/jansson/test/suites/invalid/unterminated-array-and-object/error.strip similarity index 100% rename from jansson/test/suites/invalid/unterminated-array-and-object/error.strip rename to src/jansson/test/suites/invalid/unterminated-array-and-object/error.strip diff --git a/jansson/test/suites/invalid/unterminated-array-and-object/input b/src/jansson/test/suites/invalid/unterminated-array-and-object/input similarity index 100% rename from jansson/test/suites/invalid/unterminated-array-and-object/input rename to src/jansson/test/suites/invalid/unterminated-array-and-object/input diff --git a/jansson/test/suites/invalid/unterminated-array/error.normal b/src/jansson/test/suites/invalid/unterminated-array/error.normal similarity index 100% rename from jansson/test/suites/invalid/unterminated-array/error.normal rename to src/jansson/test/suites/invalid/unterminated-array/error.normal diff --git a/jansson/test/suites/invalid/unterminated-array/error.strip b/src/jansson/test/suites/invalid/unterminated-array/error.strip similarity index 100% rename from jansson/test/suites/invalid/unterminated-array/error.strip rename to src/jansson/test/suites/invalid/unterminated-array/error.strip diff --git a/jansson/test/suites/invalid/unterminated-array/input b/src/jansson/test/suites/invalid/unterminated-array/input similarity index 100% rename from jansson/test/suites/invalid/unterminated-array/input rename to src/jansson/test/suites/invalid/unterminated-array/input diff --git a/jansson/test/suites/invalid/unterminated-empty-key/error.normal b/src/jansson/test/suites/invalid/unterminated-empty-key/error.normal similarity index 100% rename from jansson/test/suites/invalid/unterminated-empty-key/error.normal rename to src/jansson/test/suites/invalid/unterminated-empty-key/error.normal diff --git a/jansson/test/suites/invalid/unterminated-empty-key/error.strip b/src/jansson/test/suites/invalid/unterminated-empty-key/error.strip similarity index 100% rename from jansson/test/suites/invalid/unterminated-empty-key/error.strip rename to src/jansson/test/suites/invalid/unterminated-empty-key/error.strip diff --git a/jansson/test/suites/invalid/unterminated-empty-key/input b/src/jansson/test/suites/invalid/unterminated-empty-key/input similarity index 100% rename from jansson/test/suites/invalid/unterminated-empty-key/input rename to src/jansson/test/suites/invalid/unterminated-empty-key/input diff --git a/jansson/test/suites/invalid/unterminated-key/error.normal b/src/jansson/test/suites/invalid/unterminated-key/error.normal similarity index 100% rename from jansson/test/suites/invalid/unterminated-key/error.normal rename to src/jansson/test/suites/invalid/unterminated-key/error.normal diff --git a/jansson/test/suites/invalid/unterminated-key/error.strip b/src/jansson/test/suites/invalid/unterminated-key/error.strip similarity index 100% rename from jansson/test/suites/invalid/unterminated-key/error.strip rename to src/jansson/test/suites/invalid/unterminated-key/error.strip diff --git a/jansson/test/suites/invalid/unterminated-key/input b/src/jansson/test/suites/invalid/unterminated-key/input similarity index 100% rename from jansson/test/suites/invalid/unterminated-key/input rename to src/jansson/test/suites/invalid/unterminated-key/input diff --git a/jansson/test/suites/invalid/unterminated-object-and-array/error b/src/jansson/test/suites/invalid/unterminated-object-and-array/error similarity index 100% rename from jansson/test/suites/invalid/unterminated-object-and-array/error rename to src/jansson/test/suites/invalid/unterminated-object-and-array/error diff --git a/jansson/test/suites/invalid/unterminated-object-and-array/input b/src/jansson/test/suites/invalid/unterminated-object-and-array/input similarity index 100% rename from jansson/test/suites/invalid/unterminated-object-and-array/input rename to src/jansson/test/suites/invalid/unterminated-object-and-array/input diff --git a/jansson/test/suites/invalid/unterminated-string/error.normal b/src/jansson/test/suites/invalid/unterminated-string/error.normal similarity index 100% rename from jansson/test/suites/invalid/unterminated-string/error.normal rename to src/jansson/test/suites/invalid/unterminated-string/error.normal diff --git a/jansson/test/suites/invalid/unterminated-string/error.strip b/src/jansson/test/suites/invalid/unterminated-string/error.strip similarity index 100% rename from jansson/test/suites/invalid/unterminated-string/error.strip rename to src/jansson/test/suites/invalid/unterminated-string/error.strip diff --git a/jansson/test/suites/invalid/unterminated-string/input b/src/jansson/test/suites/invalid/unterminated-string/input similarity index 100% rename from jansson/test/suites/invalid/unterminated-string/input rename to src/jansson/test/suites/invalid/unterminated-string/input diff --git a/jansson/test/suites/valid/complex-array/env b/src/jansson/test/suites/valid/complex-array/env similarity index 100% rename from jansson/test/suites/valid/complex-array/env rename to src/jansson/test/suites/valid/complex-array/env diff --git a/jansson/test/suites/valid/complex-array/input b/src/jansson/test/suites/valid/complex-array/input similarity index 100% rename from jansson/test/suites/valid/complex-array/input rename to src/jansson/test/suites/valid/complex-array/input diff --git a/jansson/test/suites/valid/complex-array/output b/src/jansson/test/suites/valid/complex-array/output similarity index 100% rename from jansson/test/suites/valid/complex-array/output rename to src/jansson/test/suites/valid/complex-array/output diff --git a/jansson/test/suites/valid/empty-array/input b/src/jansson/test/suites/valid/empty-array/input similarity index 100% rename from jansson/test/suites/valid/empty-array/input rename to src/jansson/test/suites/valid/empty-array/input diff --git a/jansson/test/suites/valid/empty-array/output b/src/jansson/test/suites/valid/empty-array/output similarity index 100% rename from jansson/test/suites/valid/empty-array/output rename to src/jansson/test/suites/valid/empty-array/output diff --git a/jansson/test/suites/valid/empty-object-in-array/input b/src/jansson/test/suites/valid/empty-object-in-array/input similarity index 100% rename from jansson/test/suites/valid/empty-object-in-array/input rename to src/jansson/test/suites/valid/empty-object-in-array/input diff --git a/jansson/test/suites/valid/empty-object-in-array/output b/src/jansson/test/suites/valid/empty-object-in-array/output similarity index 100% rename from jansson/test/suites/valid/empty-object-in-array/output rename to src/jansson/test/suites/valid/empty-object-in-array/output diff --git a/jansson/test/suites/valid/empty-object/input b/src/jansson/test/suites/valid/empty-object/input similarity index 100% rename from jansson/test/suites/valid/empty-object/input rename to src/jansson/test/suites/valid/empty-object/input diff --git a/jansson/test/suites/valid/empty-object/output b/src/jansson/test/suites/valid/empty-object/output similarity index 100% rename from jansson/test/suites/valid/empty-object/output rename to src/jansson/test/suites/valid/empty-object/output diff --git a/jansson/test/suites/valid/empty-string/input b/src/jansson/test/suites/valid/empty-string/input similarity index 100% rename from jansson/test/suites/valid/empty-string/input rename to src/jansson/test/suites/valid/empty-string/input diff --git a/jansson/test/suites/valid/empty-string/output b/src/jansson/test/suites/valid/empty-string/output similarity index 100% rename from jansson/test/suites/valid/empty-string/output rename to src/jansson/test/suites/valid/empty-string/output diff --git a/jansson/test/suites/valid/escaped-utf-control-char/input b/src/jansson/test/suites/valid/escaped-utf-control-char/input similarity index 100% rename from jansson/test/suites/valid/escaped-utf-control-char/input rename to src/jansson/test/suites/valid/escaped-utf-control-char/input diff --git a/jansson/test/suites/valid/escaped-utf-control-char/output b/src/jansson/test/suites/valid/escaped-utf-control-char/output similarity index 100% rename from jansson/test/suites/valid/escaped-utf-control-char/output rename to src/jansson/test/suites/valid/escaped-utf-control-char/output diff --git a/jansson/test/suites/valid/false/input b/src/jansson/test/suites/valid/false/input similarity index 100% rename from jansson/test/suites/valid/false/input rename to src/jansson/test/suites/valid/false/input diff --git a/jansson/test/suites/valid/false/output b/src/jansson/test/suites/valid/false/output similarity index 100% rename from jansson/test/suites/valid/false/output rename to src/jansson/test/suites/valid/false/output diff --git a/jansson/test/suites/valid/negative-int/input b/src/jansson/test/suites/valid/negative-int/input similarity index 100% rename from jansson/test/suites/valid/negative-int/input rename to src/jansson/test/suites/valid/negative-int/input diff --git a/jansson/test/suites/valid/negative-int/output b/src/jansson/test/suites/valid/negative-int/output similarity index 100% rename from jansson/test/suites/valid/negative-int/output rename to src/jansson/test/suites/valid/negative-int/output diff --git a/jansson/test/suites/valid/negative-one/input b/src/jansson/test/suites/valid/negative-one/input similarity index 100% rename from jansson/test/suites/valid/negative-one/input rename to src/jansson/test/suites/valid/negative-one/input diff --git a/jansson/test/suites/valid/negative-one/output b/src/jansson/test/suites/valid/negative-one/output similarity index 100% rename from jansson/test/suites/valid/negative-one/output rename to src/jansson/test/suites/valid/negative-one/output diff --git a/jansson/test/suites/valid/negative-zero/input b/src/jansson/test/suites/valid/negative-zero/input similarity index 100% rename from jansson/test/suites/valid/negative-zero/input rename to src/jansson/test/suites/valid/negative-zero/input diff --git a/jansson/test/suites/valid/negative-zero/output b/src/jansson/test/suites/valid/negative-zero/output similarity index 100% rename from jansson/test/suites/valid/negative-zero/output rename to src/jansson/test/suites/valid/negative-zero/output diff --git a/jansson/test/suites/valid/null/input b/src/jansson/test/suites/valid/null/input similarity index 100% rename from jansson/test/suites/valid/null/input rename to src/jansson/test/suites/valid/null/input diff --git a/jansson/test/suites/valid/null/output b/src/jansson/test/suites/valid/null/output similarity index 100% rename from jansson/test/suites/valid/null/output rename to src/jansson/test/suites/valid/null/output diff --git a/jansson/test/suites/valid/one-byte-utf-8/input b/src/jansson/test/suites/valid/one-byte-utf-8/input similarity index 100% rename from jansson/test/suites/valid/one-byte-utf-8/input rename to src/jansson/test/suites/valid/one-byte-utf-8/input diff --git a/jansson/test/suites/valid/one-byte-utf-8/output b/src/jansson/test/suites/valid/one-byte-utf-8/output similarity index 100% rename from jansson/test/suites/valid/one-byte-utf-8/output rename to src/jansson/test/suites/valid/one-byte-utf-8/output diff --git a/jansson/test/suites/valid/real-capital-e-negative-exponent/input b/src/jansson/test/suites/valid/real-capital-e-negative-exponent/input similarity index 100% rename from jansson/test/suites/valid/real-capital-e-negative-exponent/input rename to src/jansson/test/suites/valid/real-capital-e-negative-exponent/input diff --git a/jansson/test/suites/valid/real-capital-e-negative-exponent/output b/src/jansson/test/suites/valid/real-capital-e-negative-exponent/output similarity index 100% rename from jansson/test/suites/valid/real-capital-e-negative-exponent/output rename to src/jansson/test/suites/valid/real-capital-e-negative-exponent/output diff --git a/jansson/test/suites/valid/real-capital-e-positive-exponent/input b/src/jansson/test/suites/valid/real-capital-e-positive-exponent/input similarity index 100% rename from jansson/test/suites/valid/real-capital-e-positive-exponent/input rename to src/jansson/test/suites/valid/real-capital-e-positive-exponent/input diff --git a/jansson/test/suites/valid/real-capital-e-positive-exponent/output b/src/jansson/test/suites/valid/real-capital-e-positive-exponent/output similarity index 100% rename from jansson/test/suites/valid/real-capital-e-positive-exponent/output rename to src/jansson/test/suites/valid/real-capital-e-positive-exponent/output diff --git a/jansson/test/suites/valid/real-capital-e/input b/src/jansson/test/suites/valid/real-capital-e/input similarity index 100% rename from jansson/test/suites/valid/real-capital-e/input rename to src/jansson/test/suites/valid/real-capital-e/input diff --git a/jansson/test/suites/valid/real-capital-e/output b/src/jansson/test/suites/valid/real-capital-e/output similarity index 100% rename from jansson/test/suites/valid/real-capital-e/output rename to src/jansson/test/suites/valid/real-capital-e/output diff --git a/jansson/test/suites/valid/real-exponent/input b/src/jansson/test/suites/valid/real-exponent/input similarity index 100% rename from jansson/test/suites/valid/real-exponent/input rename to src/jansson/test/suites/valid/real-exponent/input diff --git a/jansson/test/suites/valid/real-exponent/output b/src/jansson/test/suites/valid/real-exponent/output similarity index 100% rename from jansson/test/suites/valid/real-exponent/output rename to src/jansson/test/suites/valid/real-exponent/output diff --git a/jansson/test/suites/valid/real-fraction-exponent/input b/src/jansson/test/suites/valid/real-fraction-exponent/input similarity index 100% rename from jansson/test/suites/valid/real-fraction-exponent/input rename to src/jansson/test/suites/valid/real-fraction-exponent/input diff --git a/jansson/test/suites/valid/real-fraction-exponent/output b/src/jansson/test/suites/valid/real-fraction-exponent/output similarity index 100% rename from jansson/test/suites/valid/real-fraction-exponent/output rename to src/jansson/test/suites/valid/real-fraction-exponent/output diff --git a/jansson/test/suites/valid/real-negative-exponent/input b/src/jansson/test/suites/valid/real-negative-exponent/input similarity index 100% rename from jansson/test/suites/valid/real-negative-exponent/input rename to src/jansson/test/suites/valid/real-negative-exponent/input diff --git a/jansson/test/suites/valid/real-negative-exponent/output b/src/jansson/test/suites/valid/real-negative-exponent/output similarity index 100% rename from jansson/test/suites/valid/real-negative-exponent/output rename to src/jansson/test/suites/valid/real-negative-exponent/output diff --git a/jansson/test/suites/valid/real-positive-exponent/input b/src/jansson/test/suites/valid/real-positive-exponent/input similarity index 100% rename from jansson/test/suites/valid/real-positive-exponent/input rename to src/jansson/test/suites/valid/real-positive-exponent/input diff --git a/jansson/test/suites/valid/real-positive-exponent/output b/src/jansson/test/suites/valid/real-positive-exponent/output similarity index 100% rename from jansson/test/suites/valid/real-positive-exponent/output rename to src/jansson/test/suites/valid/real-positive-exponent/output diff --git a/jansson/test/suites/valid/real-underflow/input b/src/jansson/test/suites/valid/real-underflow/input similarity index 100% rename from jansson/test/suites/valid/real-underflow/input rename to src/jansson/test/suites/valid/real-underflow/input diff --git a/jansson/test/suites/valid/real-underflow/output b/src/jansson/test/suites/valid/real-underflow/output similarity index 100% rename from jansson/test/suites/valid/real-underflow/output rename to src/jansson/test/suites/valid/real-underflow/output diff --git a/jansson/test/suites/valid/run b/src/jansson/test/suites/valid/run similarity index 100% rename from jansson/test/suites/valid/run rename to src/jansson/test/suites/valid/run diff --git a/jansson/test/suites/valid/short-string/input b/src/jansson/test/suites/valid/short-string/input similarity index 100% rename from jansson/test/suites/valid/short-string/input rename to src/jansson/test/suites/valid/short-string/input diff --git a/jansson/test/suites/valid/short-string/output b/src/jansson/test/suites/valid/short-string/output similarity index 100% rename from jansson/test/suites/valid/short-string/output rename to src/jansson/test/suites/valid/short-string/output diff --git a/jansson/test/suites/valid/simple-ascii-string/input b/src/jansson/test/suites/valid/simple-ascii-string/input similarity index 100% rename from jansson/test/suites/valid/simple-ascii-string/input rename to src/jansson/test/suites/valid/simple-ascii-string/input diff --git a/jansson/test/suites/valid/simple-ascii-string/output b/src/jansson/test/suites/valid/simple-ascii-string/output similarity index 100% rename from jansson/test/suites/valid/simple-ascii-string/output rename to src/jansson/test/suites/valid/simple-ascii-string/output diff --git a/jansson/test/suites/valid/simple-int-0/input b/src/jansson/test/suites/valid/simple-int-0/input similarity index 100% rename from jansson/test/suites/valid/simple-int-0/input rename to src/jansson/test/suites/valid/simple-int-0/input diff --git a/jansson/test/suites/valid/simple-int-0/output b/src/jansson/test/suites/valid/simple-int-0/output similarity index 100% rename from jansson/test/suites/valid/simple-int-0/output rename to src/jansson/test/suites/valid/simple-int-0/output diff --git a/jansson/test/suites/valid/simple-int-1/input b/src/jansson/test/suites/valid/simple-int-1/input similarity index 100% rename from jansson/test/suites/valid/simple-int-1/input rename to src/jansson/test/suites/valid/simple-int-1/input diff --git a/jansson/test/suites/valid/simple-int-1/output b/src/jansson/test/suites/valid/simple-int-1/output similarity index 100% rename from jansson/test/suites/valid/simple-int-1/output rename to src/jansson/test/suites/valid/simple-int-1/output diff --git a/jansson/test/suites/valid/simple-int-123/input b/src/jansson/test/suites/valid/simple-int-123/input similarity index 100% rename from jansson/test/suites/valid/simple-int-123/input rename to src/jansson/test/suites/valid/simple-int-123/input diff --git a/jansson/test/suites/valid/simple-int-123/output b/src/jansson/test/suites/valid/simple-int-123/output similarity index 100% rename from jansson/test/suites/valid/simple-int-123/output rename to src/jansson/test/suites/valid/simple-int-123/output diff --git a/jansson/test/suites/valid/simple-object/input b/src/jansson/test/suites/valid/simple-object/input similarity index 100% rename from jansson/test/suites/valid/simple-object/input rename to src/jansson/test/suites/valid/simple-object/input diff --git a/jansson/test/suites/valid/simple-object/output b/src/jansson/test/suites/valid/simple-object/output similarity index 100% rename from jansson/test/suites/valid/simple-object/output rename to src/jansson/test/suites/valid/simple-object/output diff --git a/jansson/test/suites/valid/simple-real/input b/src/jansson/test/suites/valid/simple-real/input similarity index 100% rename from jansson/test/suites/valid/simple-real/input rename to src/jansson/test/suites/valid/simple-real/input diff --git a/jansson/test/suites/valid/simple-real/output b/src/jansson/test/suites/valid/simple-real/output similarity index 100% rename from jansson/test/suites/valid/simple-real/output rename to src/jansson/test/suites/valid/simple-real/output diff --git a/jansson/test/suites/valid/string-escapes/input b/src/jansson/test/suites/valid/string-escapes/input similarity index 100% rename from jansson/test/suites/valid/string-escapes/input rename to src/jansson/test/suites/valid/string-escapes/input diff --git a/jansson/test/suites/valid/string-escapes/output b/src/jansson/test/suites/valid/string-escapes/output similarity index 100% rename from jansson/test/suites/valid/string-escapes/output rename to src/jansson/test/suites/valid/string-escapes/output diff --git a/jansson/test/suites/valid/three-byte-utf-8/input b/src/jansson/test/suites/valid/three-byte-utf-8/input similarity index 100% rename from jansson/test/suites/valid/three-byte-utf-8/input rename to src/jansson/test/suites/valid/three-byte-utf-8/input diff --git a/jansson/test/suites/valid/three-byte-utf-8/output b/src/jansson/test/suites/valid/three-byte-utf-8/output similarity index 100% rename from jansson/test/suites/valid/three-byte-utf-8/output rename to src/jansson/test/suites/valid/three-byte-utf-8/output diff --git a/jansson/test/suites/valid/true/input b/src/jansson/test/suites/valid/true/input similarity index 100% rename from jansson/test/suites/valid/true/input rename to src/jansson/test/suites/valid/true/input diff --git a/jansson/test/suites/valid/true/output b/src/jansson/test/suites/valid/true/output similarity index 100% rename from jansson/test/suites/valid/true/output rename to src/jansson/test/suites/valid/true/output diff --git a/jansson/test/suites/valid/two-byte-utf-8/input b/src/jansson/test/suites/valid/two-byte-utf-8/input similarity index 100% rename from jansson/test/suites/valid/two-byte-utf-8/input rename to src/jansson/test/suites/valid/two-byte-utf-8/input diff --git a/jansson/test/suites/valid/two-byte-utf-8/output b/src/jansson/test/suites/valid/two-byte-utf-8/output similarity index 100% rename from jansson/test/suites/valid/two-byte-utf-8/output rename to src/jansson/test/suites/valid/two-byte-utf-8/output diff --git a/jansson/test/suites/valid/utf-8-string/input b/src/jansson/test/suites/valid/utf-8-string/input similarity index 100% rename from jansson/test/suites/valid/utf-8-string/input rename to src/jansson/test/suites/valid/utf-8-string/input diff --git a/jansson/test/suites/valid/utf-8-string/output b/src/jansson/test/suites/valid/utf-8-string/output similarity index 100% rename from jansson/test/suites/valid/utf-8-string/output rename to src/jansson/test/suites/valid/utf-8-string/output diff --git a/jansson/test/suites/valid/utf-surrogate-four-byte-encoding/input b/src/jansson/test/suites/valid/utf-surrogate-four-byte-encoding/input similarity index 100% rename from jansson/test/suites/valid/utf-surrogate-four-byte-encoding/input rename to src/jansson/test/suites/valid/utf-surrogate-four-byte-encoding/input diff --git a/jansson/test/suites/valid/utf-surrogate-four-byte-encoding/output b/src/jansson/test/suites/valid/utf-surrogate-four-byte-encoding/output similarity index 100% rename from jansson/test/suites/valid/utf-surrogate-four-byte-encoding/output rename to src/jansson/test/suites/valid/utf-surrogate-four-byte-encoding/output diff --git a/jansson/win32/jansson_config.h b/src/jansson/win32/jansson_config.h similarity index 100% rename from jansson/win32/jansson_config.h rename to src/jansson/win32/jansson_config.h diff --git a/jansson/win32/vs2010/jansson.sln b/src/jansson/win32/vs2010/jansson.sln similarity index 100% rename from jansson/win32/vs2010/jansson.sln rename to src/jansson/win32/vs2010/jansson.sln diff --git a/jansson/win32/vs2010/jansson.vcxproj b/src/jansson/win32/vs2010/jansson.vcxproj similarity index 100% rename from jansson/win32/vs2010/jansson.vcxproj rename to src/jansson/win32/vs2010/jansson.vcxproj diff --git a/jansson/win32/vs2010/jansson.vcxproj.filters b/src/jansson/win32/vs2010/jansson.vcxproj.filters similarity index 100% rename from jansson/win32/vs2010/jansson.vcxproj.filters rename to src/jansson/win32/vs2010/jansson.vcxproj.filters diff --git a/jansson/win32/vs2010/jansson.vcxproj.user b/src/jansson/win32/vs2010/jansson.vcxproj.user similarity index 100% rename from jansson/win32/vs2010/jansson.vcxproj.user rename to src/jansson/win32/vs2010/jansson.vcxproj.user diff --git a/sdk/smsdk_config.h b/src/smsdk_config.h similarity index 100% rename from sdk/smsdk_config.h rename to src/smsdk_config.h diff --git a/sdk/smsdk_ext.cpp b/src/smsdk_ext.cpp similarity index 100% rename from sdk/smsdk_ext.cpp rename to src/smsdk_ext.cpp diff --git a/sdk/smsdk_ext.h b/src/smsdk_ext.h similarity index 100% rename from sdk/smsdk_ext.h rename to src/smsdk_ext.h diff --git a/version.rc b/src/version.rc similarity index 95% rename from version.rc rename to src/version.rc index d45a0c7..ebe6e15 100644 --- a/version.rc +++ b/src/version.rc @@ -1,103 +1,103 @@ -// Microsoft Visual C++ generated resource script. -// -//#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "winres.h" - -#include - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Version -// - -VS_VERSION_INFO VERSIONINFO - FILEVERSION SM_VERSION_FILE - PRODUCTVERSION SM_VERSION_FILE - FILEFLAGSMASK 0x17L -#ifdef _DEBUG - FILEFLAGS 0x1L -#else - FILEFLAGS 0x0L -#endif - FILEOS 0x4L - FILETYPE 0x2L - FILESUBTYPE 0x0L -BEGIN - BLOCK "StringFileInfo" - BEGIN - BLOCK "000004b0" - BEGIN - VALUE "Comments", "SourceMod Extension" - VALUE "FileDescription", "SourceMod Extension" - VALUE "FileVersion", SM_VERSION_STRING - VALUE "InternalName", "SourceMod Extension" - VALUE "LegalCopyright", "Copyright (c) 2004-2022, AlliedModders LLC" - VALUE "OriginalFilename", BINARY_NAME - VALUE "ProductName", "SourceMod Extension" - VALUE "ProductVersion", SM_VERSION_STRING - END - END - BLOCK "VarFileInfo" - BEGIN - VALUE "Translation", 0x0, 1200 - END -END - - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE -BEGIN - "#include ""winres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED +// Microsoft Visual C++ generated resource script. +// +//#include "resource.h" + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +#include + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (U.S.) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +#ifdef _WIN32 +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US +#pragma code_page(1252) +#endif //_WIN32 + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO + FILEVERSION SM_VERSION_FILE + PRODUCTVERSION SM_VERSION_FILE + FILEFLAGSMASK 0x17L +#ifdef _DEBUG + FILEFLAGS 0x1L +#else + FILEFLAGS 0x0L +#endif + FILEOS 0x4L + FILETYPE 0x2L + FILESUBTYPE 0x0L +BEGIN + BLOCK "StringFileInfo" + BEGIN + BLOCK "000004b0" + BEGIN + VALUE "Comments", "SourceMod Extension" + VALUE "FileDescription", "SourceMod Extension" + VALUE "FileVersion", SM_VERSION_STRING + VALUE "InternalName", "SourceMod Extension" + VALUE "LegalCopyright", "Copyright (c) 2004-2022, AlliedModders LLC" + VALUE "OriginalFilename", BINARY_NAME + VALUE "ProductName", "SourceMod Extension" + VALUE "ProductVersion", SM_VERSION_STRING + END + END + BLOCK "VarFileInfo" + BEGIN + VALUE "Translation", 0x0, 1200 + END +END + + +#ifdef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// TEXTINCLUDE +// + +1 TEXTINCLUDE +BEGIN + "resource.h\0" +END + +2 TEXTINCLUDE +BEGIN + "#include ""winres.h""\r\n" + "\0" +END + +3 TEXTINCLUDE +BEGIN + "\r\n" + "\0" +END + +#endif // APSTUDIO_INVOKED + +#endif // English (U.S.) resources +///////////////////////////////////////////////////////////////////////////// + + + +#ifndef APSTUDIO_INVOKED +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 3 resource. +// + + +///////////////////////////////////////////////////////////////////////////// +#endif // not APSTUDIO_INVOKED