blob: 6e54798e154e151cfcbeeb45dcaa0248d02b0798 [file]
load("@bazel_skylib//rules:copy_file.bzl", "copy_file")
load("@rules_cc//cc:cc_binary.bzl", "cc_binary")
load("@rules_cc//cc:cc_library.bzl", "cc_library")
licenses(["notice"])
exports_files(["LICENSE"])
INCLUDES = [
".",
"include",
"x86",
"asm",
"disasm",
"output",
]
COPTS = select({
"@platforms//os:windows": [],
"//conditions:default": [
"-w",
"-DHAVE_CONFIG_H",
],
})
copy_file(
name = "config_src",
src = select({
"@platforms//os:macos": "config_macos.h",
"//conditions:default": "config_linux.h",
}),
out = "config/config.h",
)
cc_library(
name = "nasm_2_16_03",
srcs = glob(
include = [
"asm/*.c",
"common/*.c",
"disasm/*.c",
"macros/*.c",
"nasmlib/*.c",
"output/*.c",
"stdlib/*.c",
"x86/*.c",
],
exclude = [
"asm/nasm.c",
],
),
hdrs = [":config_src"] + glob([
"*.h",
"asm/*.h",
"autoconf/*.h",
"config/*.h",
"disasm/*.h",
"include/*.h",
"nasmlib/*.h",
"output/*.h",
"x86/*.h",
]),
copts = COPTS,
includes = INCLUDES,
)
cc_binary(
name = "nasm",
srcs = [
"asm/nasm.c",
],
copts = COPTS,
includes = INCLUDES,
visibility = ["//visibility:public"],
deps = [
":nasm_2_16_03",
],
)