]> git.sesse.net Git - nageru/commitdiff
Move bin2h and read_file into shared/, so that Nageru can also use it.
authorSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 3 Dec 2018 19:26:47 +0000 (20:26 +0100)
committerSteinar H. Gunderson <sgunderson@bigfoot.com>
Mon, 3 Dec 2018 19:26:47 +0000 (20:26 +0100)
futatabi/flow.cpp
futatabi/meson.build
shared/bin2h.cpp [moved from futatabi/bin2h.cpp with 100% similarity]
shared/meson.build

index 5125d26b53a5d2f09bde21132136d2a6ec333b5c..a10d83b11f725e19b11e86cab888fd60e25aa3f2 100644 (file)
@@ -5,6 +5,7 @@
 #include "embedded_files.h"
 #include "gpu_timers.h"
 #include "util.h"
+#include "shared/read_file.h"
 
 #include <algorithm>
 #include <assert.h>
@@ -50,53 +51,6 @@ int find_num_levels(int width, int height)
        return levels;
 }
 
-string read_file(const string &filename, const unsigned char *start = nullptr, const size_t size = 0)
-{
-       FILE *fp = fopen(filename.c_str(), "r");
-       if (fp == nullptr) {
-               // Fall back to the version we compiled in. (We prefer disk if we can,
-               // since that makes it possible to work on shaders without recompiling
-               // all the time.)
-               if (start != nullptr) {
-                       return string(reinterpret_cast<const char *>(start),
-                               reinterpret_cast<const char *>(start) + size);
-               }
-
-               perror(filename.c_str());
-               exit(1);
-       }
-
-       int ret = fseek(fp, 0, SEEK_END);
-       if (ret == -1) {
-               perror("fseek(SEEK_END)");
-               exit(1);
-       }
-
-       int disk_size = ftell(fp);
-
-       ret = fseek(fp, 0, SEEK_SET);
-       if (ret == -1) {
-               perror("fseek(SEEK_SET)");
-               exit(1);
-       }
-
-       string str;
-       str.resize(disk_size);
-       ret = fread(&str[0], disk_size, 1, fp);
-       if (ret == -1) {
-               perror("fread");
-               exit(1);
-       }
-       if (ret == 0) {
-               fprintf(stderr, "Short read when trying to read %d bytes from %s\n",
-                       disk_size, filename.c_str());
-               exit(1);
-       }
-       fclose(fp);
-
-       return str;
-}
-
 GLuint compile_shader(const string &shader_src, GLenum type)
 {
        GLuint obj = glCreateShader(type);
index 55611e819effa9ea6e3f3ec5cedb75cf3ec9dec2..dd94984484ef737a6977a89ffcc2ffdd84d13012 100644 (file)
@@ -49,14 +49,10 @@ foreach shader : shaders
   run_command('ln', '-s', join_paths(meson.current_source_dir(), shader), meson.current_build_dir())
 endforeach
 
-bin2h = executable('bin2h', 'bin2h.cpp')
-bin2h_gen = generator(bin2h, \
-  output    : ['@PLAINNAME@.cpp'],
-  arguments : ['@INPUT@', '@PLAINNAME@', '@OUTPUT@'])
 shader_srcs = bin2h_gen.process(shaders)
 srcs += shader_srcs
 
 executable('futatabi', srcs, dependencies: [shareddep, qt5deps, libjpegdep, movitdep, libmicrohttpddep, protobufdep, sqlite3dep, vax11dep, vadrmdep, x11dep, libavformatdep, libavcodecdep, libavutildep, libswscaledep], link_with: shared)
-executable('flow', 'flow_main.cpp', 'flow.cpp', 'gpu_timers.cpp', shader_srcs, dependencies: [epoxydep, sdl2dep, sdl2_imagedep])
+executable('flow', 'flow_main.cpp', 'flow.cpp', 'gpu_timers.cpp', shader_srcs, dependencies: [shareddep, epoxydep, sdl2dep, sdl2_imagedep])
 executable('eval', 'eval.cpp', 'util.cpp')
 executable('vis', 'vis.cpp', 'util.cpp')
similarity index 100%
rename from futatabi/bin2h.cpp
rename to shared/bin2h.cpp
index 7ef0b3f83d021af6630df12f87178672cce2f0ff..acb2c9a251f46e7e77db3eb3455e85e7ca1d914b 100644 (file)
@@ -2,8 +2,13 @@ qt5 = import('qt5')
 qt5deps = dependency('qt5', modules: ['OpenGL'])
 libmicrohttpddep = dependency('libmicrohttpd')
 
-srcs = ['memcpy_interleaved.cpp', 'metacube2.cpp', 'ffmpeg_raii.cpp', 'mux.cpp', 'metrics.cpp', 'context.cpp', 'httpd.cpp', 'disk_space_estimator.cpp']
+srcs = ['memcpy_interleaved.cpp', 'metacube2.cpp', 'ffmpeg_raii.cpp', 'mux.cpp', 'metrics.cpp', 'context.cpp', 'httpd.cpp', 'disk_space_estimator.cpp', 'read_file.cpp']
 shared = static_library('shared', srcs, include_directories: top_include, dependencies: [qt5deps, libmicrohttpddep])
 shareddep = declare_dependency(
    include_directories: top_include,
    link_with: shared)
+
+bin2h = executable('bin2h', 'bin2h.cpp')
+bin2h_gen = generator(bin2h, \
+  output    : ['@PLAINNAME@.cpp'],
+  arguments : ['@INPUT@', '@PLAINNAME@', '@OUTPUT@'])