summarylogtreecommitdiffstats
path: root/0006-Use-cmake-directly-instead-of-letting-setup.py-try-t.patch
diff options
context:
space:
mode:
Diffstat (limited to '0006-Use-cmake-directly-instead-of-letting-setup.py-try-t.patch')
-rw-r--r--0006-Use-cmake-directly-instead-of-letting-setup.py-try-t.patch266
1 files changed, 0 insertions, 266 deletions
diff --git a/0006-Use-cmake-directly-instead-of-letting-setup.py-try-t.patch b/0006-Use-cmake-directly-instead-of-letting-setup.py-try-t.patch
deleted file mode 100644
index c8e2b3432838..000000000000
--- a/0006-Use-cmake-directly-instead-of-letting-setup.py-try-t.patch
+++ /dev/null
@@ -1,266 +0,0 @@
-From 52b71d6edc8ea90d29a5844191d7b386fed67c46 Mon Sep 17 00:00:00 2001
-From: Xiretza <xiretza@xiretza.xyz>
-Date: Sat, 4 Jun 2022 11:33:46 +0200
-Subject: [PATCH 6/7] Use cmake directly instead of letting setup.py try to
- handle it
-
----
- setup.py | 226 +------------------------------------------------------
- 1 file changed, 1 insertion(+), 225 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index cfbaa55..8c0b3ee 100644
---- a/setup.py
-+++ b/setup.py
-@@ -18,20 +18,10 @@
- # SPDX-License-Identifier: Apache-2.0
-
- import os
--import re
- import setuptools
--import shutil
- import subprocess
--import sys
--import traceback
-
- from Cython.Build import cythonize
--from distutils.command.build import build
--from distutils.version import LooseVersion
--from setuptools import Extension
--from setuptools.command.build_ext import build_ext
--from setuptools.command.develop import develop
--from setuptools.command.install import install
-
- __dir__ = os.path.dirname(os.path.abspath(__file__))
-
-@@ -56,212 +46,6 @@ assert version_value[0] == '"', version_value
- assert version_value[-1] == '"', version_value
- version = version_value[1:-1]
-
--
--# Based on: https://www.benjack.io/2018/02/02/python-cpp-revisited.html
--# GitHub: https://github.com/benjaminjack/python_cpp_example
--class CMakeExtension(Extension):
-- def __init__(self, name, sourcedir='', prefix=''):
-- Extension.__init__(self, name, sources=[])
-- self.sourcedir = os.path.abspath(sourcedir)
-- self.prefix = prefix
--
--
--# Used to share options between two classes.
--class SharedOptions():
-- ANTLR_RUNTIMES = ['static', 'shared']
-- options = [
-- (
-- 'antlr-runtime=', None,
-- "Whether to use a 'static' or 'shared' ANTLR runtime.")
-- ]
--
-- def __init__(self):
-- self.antlr_runtime = 'static'
--
-- def initialize(self, other):
-- other.antlr_runtime = None
--
-- def load(self, other):
-- if other.antlr_runtime is not None:
-- self.antlr_runtime = other.antlr_runtime
-- assert self.antlr_runtime in SharedOptions.ANTLR_RUNTIMES, \
-- 'Invalid antlr_runtime {}, expected one of {}'.format(
-- self.antlr_runtime, SharedOptions.ANTLR_RUNTIMES)
--
--
--# Global to allow sharing options.
--shared_options = SharedOptions()
--
--
--class AntlrCMakeBuild(build_ext):
-- user_options = SharedOptions.options
--
-- def copy_extensions_to_source(self):
-- original_extensions = list(self.extensions)
-- self.extensions = [
-- ext for ext in self.extensions
-- if not isinstance(ext, CMakeExtension)
-- ]
-- super().copy_extensions_to_source()
-- self.extensions = original_extensions
--
-- def run(self):
-- shared_options.load(self)
-- try:
-- super().run()
--
-- try:
-- out = subprocess.check_output(['cmake', '--version'])
-- except OSError:
-- raise RuntimeError(
-- "CMake must be installed to build "
-- "the following extensions: " + ", ".join(
-- e.name for e in self.extensions))
--
-- cmake_version = LooseVersion(
-- re.search(r'version\s*([\d.]+)', out.decode()).group(1))
-- if cmake_version < '3.7.0':
-- raise RuntimeError("CMake >= 3.7.0 is required.")
--
-- for ext in self.extensions:
-- self.build_extension(ext)
--
-- except BaseException as e:
-- print(
-- "Failed to build ANTLR parser, "
-- "falling back on slower textX parser. Error:\n", e)
-- traceback.print_exc()
--
-- # FIXME: Remove this function
-- # see: https://github.com/chipsalliance/fasm/issues/50
-- def add_flags(self):
-- if sys.platform.startswith('win'):
-- return
--
-- for flag in ["CFLAGS", "CXXFLAGS"]:
-- flags = [os.environ.get(flag, "")]
-- if not flags[0]:
-- flags.pop(0)
--
-- if shared_options.antlr_runtime == 'static':
-- # When linking the ANTLR runtime statically, -fPIC is
-- # still necessary because libparse_fasm will be a
-- # shared library.
-- flags.append("-fPIC")
--
-- # FIXME: These should be in the cmake config file?
-- # Disable excessive warnings currently in ANTLR runtime.
-- # warning: type attributes ignored after type is already defined
-- # `class ANTLR4CPP_PUBLIC ATN;`
-- flags.append('-Wno-attributes')
--
-- # Lots of implicit fallthroughs.
-- # flags.append('-Wimplicit-fallthrough=0')
--
-- if flags:
-- os.environ[flag] = " ".join(flags)
--
-- def build_extension(self, ext):
-- if isinstance(ext, CMakeExtension):
-- extdir = os.path.join(
-- os.path.abspath(
-- os.path.dirname(self.get_ext_fullpath(ext.name))),
-- ext.prefix)
-- cmake_args = [
-- '-DCMAKE_INSTALL_PREFIX=' + extdir,
-- '-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=' + extdir,
-- '-DPYTHON_EXECUTABLE=' + sys.executable,
-- '-DANTLR_RUNTIME_TYPE=' + shared_options.antlr_runtime
-- ]
--
-- cfg = 'Debug' if self.debug else 'Release'
-- build_args = ['--config', cfg]
-- cmake_args += ['-DCMAKE_BUILD_TYPE=' + cfg]
-- if not sys.platform.startswith('win') and (
-- os.environ.get("CMAKE_BUILD_PARALLEL_LEVEL") is None):
-- build_args += ['--', '-j']
--
-- env = os.environ.copy()
-- env['CXXFLAGS'] = '{} -DVERSION_INFO=\\"{}\\"'.format(
-- env.get('CXXFLAGS', ''), self.distribution.get_version())
--
-- # Remove the existing build_temp directory if it already exists.
-- if os.path.exists(self.build_temp):
-- shutil.rmtree(self.build_temp, ignore_errors=True)
-- os.makedirs(self.build_temp, exist_ok=True)
--
-- self.add_flags()
--
-- subprocess.check_call(
-- ['cmake', ext.sourcedir] + cmake_args,
-- cwd=self.build_temp,
-- env=env)
-- subprocess.check_call(
-- ['cmake', '--build', '.'] + build_args, cwd=self.build_temp)
-- subprocess.check_call(
-- ['cmake', '--install', '.'], cwd=self.build_temp)
-- subprocess.check_call(['ctest'], cwd=self.build_temp)
-- print() # Add an empty line for cleaner output
-- else:
-- super().build_extension(ext)
--
-- def initialize_options(self):
-- super().initialize_options()
-- shared_options.initialize(self)
--
-- def finalize_options(self):
-- super().finalize_options()
-- shared_options.load(self)
--
--
--class BuildCommand(build):
-- user_options = build.user_options + SharedOptions.options
--
-- def initialize_options(self):
-- super().initialize_options()
-- shared_options.initialize(self)
--
-- def finalize_options(self):
-- super().finalize_options()
-- shared_options.load(self)
--
-- def run(self):
-- shared_options.load(self)
-- super().run()
--
--
--class InstallCommand(install):
-- user_options = install.user_options + SharedOptions.options
--
-- def initialize_options(self):
-- super().initialize_options()
-- shared_options.initialize(self)
--
-- def finalize_options(self):
-- super().finalize_options()
-- shared_options.load(self)
--
-- def run(self):
-- shared_options.load(self)
-- super().run()
--
--
--class DevelopCommand(develop):
-- user_options = develop.user_options + SharedOptions.options
--
-- def initialize_options(self):
-- super().initialize_options()
-- shared_options.initialize(self)
--
-- def finalize_options(self):
-- super().finalize_options()
-- shared_options.load(self)
--
-- def run(self):
-- shared_options.load(self)
-- super().run()
--
--
- setuptools.setup(
- name="fasm",
- version=version,
-@@ -282,13 +66,5 @@ setuptools.setup(
- entry_points={
- 'console_scripts': ['fasm=fasm.tool:main'],
- },
-- ext_modules=[
-- CMakeExtension('parse_fasm', sourcedir='src', prefix='fasm/parser')
-- ] + cythonize("fasm/parser/antlr_to_tuple.pyx"),
-- cmdclass={
-- 'build_ext': AntlrCMakeBuild,
-- 'build': BuildCommand,
-- 'develop': DevelopCommand,
-- 'install': InstallCommand,
-- },
-+ ext_modules=cythonize("fasm/parser/antlr_to_tuple.pyx"),
- )
---
-2.36.1
-