diff --git a/deps/build.jl b/deps/build.jl deleted file mode 100644 index f922a21..0000000 --- a/deps/build.jl +++ /dev/null @@ -1,4 +0,0 @@ -debug_level = lowercase(get(ENV, "MODERNGL_DEBUGGING", "false")) == "true" -open(joinpath(@__DIR__, "deps.jl"), "w") do io - println(io, "const enable_opengl_debugging = $debug_level") -end diff --git a/src/functionloading.jl b/src/functionloading.jl index 47b18e2..74e9e73 100644 --- a/src/functionloading.jl +++ b/src/functionloading.jl @@ -1,16 +1,25 @@ -const depsfile = normpath(joinpath(@__DIR__, "..", "deps", "deps.jl")) +function should_enable_opengl_debugging() + v = get(ENV, "MODERNGL_DEBUGGING", "false") + if v in ("true", "false") + return v == "true" + else + error("MODERNGL_DEBUGGING must be either 'true' or 'false'.") + end +end + +# decide this early here to debug any workload precompilation *in this package* before __init__ is run +const enable_opengl_debugging = Ref{Bool}(should_enable_opengl_debugging()) -if isfile(depsfile) - include(depsfile) -else - const enable_opengl_debugging = get(ENV, "MODERNGL_DEBUGGING", "false") == "true" +function __init__() + # the env var may have changed since precompilation + enable_opengl_debugging[] = should_enable_opengl_debugging() end gl_represent(x::GLenum) = GLENUM(x).name gl_represent(x) = repr(x) function debug_opengl_expr(func_name, args) - if enable_opengl_debugging && func_name != :glGetError + if enable_opengl_debugging[] && func_name != :glGetError quote err = glGetError() if err != GL_NO_ERROR