Make sure window id hex starts with 0x (makes monitor recording more reliable), allow CC and CXX to set compiler for build
This commit is contained in:
parent
41176177c6
commit
7e2ade27a7
47
build.sh
47
build.sh
@ -1,39 +1,42 @@
|
|||||||
#!/bin/sh -e
|
#!/bin/sh -e
|
||||||
|
|
||||||
opts="-O2 -g0 -DNDEBUG -Wall -Wextra -s"
|
CC=${CC:-gcc}
|
||||||
|
CXX=${CXX:-g++}
|
||||||
|
|
||||||
|
opts="-O2 -g0 -DNDEBUG -Wall -Wextra"
|
||||||
[ -n "$DEBUG" ] && opts="-O0 -g3 -Wall -Wextra";
|
[ -n "$DEBUG" ] && opts="-O0 -g3 -Wall -Wextra";
|
||||||
|
|
||||||
build_gsr_kms_server() {
|
build_gsr_kms_server() {
|
||||||
dependencies="libdrm"
|
dependencies="libdrm"
|
||||||
includes="$(pkg-config --cflags $dependencies)"
|
includes="$(pkg-config --cflags $dependencies)"
|
||||||
libs="$(pkg-config --libs $dependencies) -ldl"
|
libs="$(pkg-config --libs $dependencies) -ldl"
|
||||||
gcc -c kms/server/kms_server.c $opts $includes
|
$CC -c kms/server/kms_server.c $opts $includes
|
||||||
gcc -o gsr-kms-server -O2 kms_server.o $libs $opts
|
$CC -o gsr-kms-server -O2 kms_server.o $libs $opts
|
||||||
}
|
}
|
||||||
|
|
||||||
build_gsr() {
|
build_gsr() {
|
||||||
dependencies="libavcodec libavformat libavutil x11 xcomposite xrandr xfixes libpulse libswresample libavfilter libva libcap"
|
dependencies="libavcodec libavformat libavutil x11 xcomposite xrandr xfixes libpulse libswresample libavfilter libva libcap"
|
||||||
includes="$(pkg-config --cflags $dependencies)"
|
includes="$(pkg-config --cflags $dependencies)"
|
||||||
libs="$(pkg-config --libs $dependencies) -ldl -pthread -lm"
|
libs="$(pkg-config --libs $dependencies) -ldl -pthread -lm"
|
||||||
gcc -c src/capture/capture.c $opts $includes
|
$CC -c src/capture/capture.c $opts $includes
|
||||||
gcc -c src/capture/nvfbc.c $opts $includes
|
$CC -c src/capture/nvfbc.c $opts $includes
|
||||||
gcc -c src/capture/xcomposite_cuda.c $opts $includes
|
$CC -c src/capture/xcomposite_cuda.c $opts $includes
|
||||||
gcc -c src/capture/xcomposite_vaapi.c $opts $includes
|
$CC -c src/capture/xcomposite_vaapi.c $opts $includes
|
||||||
gcc -c src/capture/kms_vaapi.c $opts $includes
|
$CC -c src/capture/kms_vaapi.c $opts $includes
|
||||||
gcc -c kms/client/kms_client.c $opts $includes
|
$CC -c kms/client/kms_client.c $opts $includes
|
||||||
gcc -c src/egl.c $opts $includes
|
$CC -c src/egl.c $opts $includes
|
||||||
gcc -c src/cuda.c $opts $includes
|
$CC -c src/cuda.c $opts $includes
|
||||||
gcc -c src/xnvctrl.c $opts $includes
|
$CC -c src/xnvctrl.c $opts $includes
|
||||||
gcc -c src/overclock.c $opts $includes
|
$CC -c src/overclock.c $opts $includes
|
||||||
gcc -c src/window_texture.c $opts $includes
|
$CC -c src/window_texture.c $opts $includes
|
||||||
gcc -c src/shader.c $opts $includes
|
$CC -c src/shader.c $opts $includes
|
||||||
gcc -c src/color_conversion.c $opts $includes
|
$CC -c src/color_conversion.c $opts $includes
|
||||||
gcc -c src/cursor.c $opts $includes
|
$CC -c src/cursor.c $opts $includes
|
||||||
gcc -c src/utils.c $opts $includes
|
$CC -c src/utils.c $opts $includes
|
||||||
gcc -c src/library_loader.c $opts $includes
|
$CC -c src/library_loader.c $opts $includes
|
||||||
g++ -c src/sound.cpp $opts $includes
|
$CXX -c src/sound.cpp $opts $includes
|
||||||
g++ -c src/main.cpp $opts $includes
|
$CXX -c src/main.cpp $opts $includes
|
||||||
g++ -o gpu-screen-recorder -O2 capture.o nvfbc.o kms_client.o egl.o cuda.o xnvctrl.o overclock.o window_texture.o shader.o color_conversion.o cursor.o utils.o library_loader.o xcomposite_cuda.o xcomposite_vaapi.o kms_vaapi.o sound.o main.o $libs $opts
|
$CXX -o gpu-screen-recorder -O2 capture.o nvfbc.o kms_client.o egl.o cuda.o xnvctrl.o overclock.o window_texture.o shader.o color_conversion.o cursor.o utils.o library_loader.o xcomposite_cuda.o xcomposite_vaapi.o kms_vaapi.o sound.o main.o $libs $opts
|
||||||
}
|
}
|
||||||
|
|
||||||
build_gsr_kms_server
|
build_gsr_kms_server
|
||||||
|
@ -6,6 +6,8 @@ cd "$script_dir"
|
|||||||
[ $(id -u) -ne 0 ] && echo "You need root privileges to run the install script" && exit 1
|
[ $(id -u) -ne 0 ] && echo "You need root privileges to run the install script" && exit 1
|
||||||
|
|
||||||
./build.sh
|
./build.sh
|
||||||
|
strip gsr-kms-server
|
||||||
|
strip gpu-screen-recorder
|
||||||
rm -f "/usr/local/bin/gpu-screen-recorder"
|
rm -f "/usr/local/bin/gpu-screen-recorder"
|
||||||
install -Dm755 "gsr-kms-server" "/usr/bin/gsr-kms-server"
|
install -Dm755 "gsr-kms-server" "/usr/bin/gsr-kms-server"
|
||||||
install -Dm755 "gpu-screen-recorder" "/usr/bin/gpu-screen-recorder"
|
install -Dm755 "gpu-screen-recorder" "/usr/bin/gpu-screen-recorder"
|
||||||
|
@ -732,20 +732,26 @@ static bool is_hex_num(char c) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
static bool contains_non_hex_number(const char *str) {
|
static bool contains_non_hex_number(const char *str) {
|
||||||
|
bool hex_start = false;
|
||||||
size_t len = strlen(str);
|
size_t len = strlen(str);
|
||||||
if(len >= 2 && memcmp(str, "0x", 2) == 0) {
|
if(len >= 2 && memcmp(str, "0x", 2) == 0) {
|
||||||
str += 2;
|
str += 2;
|
||||||
len -= 2;
|
len -= 2;
|
||||||
|
hex_start = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool is_hex = false;
|
||||||
for(size_t i = 0; i < len; ++i) {
|
for(size_t i = 0; i < len; ++i) {
|
||||||
char c = str[i];
|
char c = str[i];
|
||||||
if(c == '\0')
|
if(c == '\0')
|
||||||
return false;
|
return false;
|
||||||
if(!is_hex_num(c))
|
if(!is_hex_num(c))
|
||||||
return true;
|
return true;
|
||||||
|
if((c >= 'A' && c <= 'F') || (c >= 'a' && c <= 'f'))
|
||||||
|
is_hex = true;
|
||||||
}
|
}
|
||||||
return false;
|
|
||||||
|
return is_hex && !hex_start;
|
||||||
}
|
}
|
||||||
|
|
||||||
static std::string get_date_str() {
|
static std::string get_date_str() {
|
||||||
|
Loading…
Reference in New Issue
Block a user