Page:
							Building for OpenBSD
						
						
					
					
							Pages
							
							
								AES Keys
							
								Archive of 3DS Documentation
							
								Archive of 3DS Tests
							
								Building for Android
							
								Building for Linux
							
								Building for OpenBSD
							
								Building for Windows
							
								Building for macOS
							
								CPU
							
								Citra Android user data and storage
							
								Citra Legacy Builds
							
								Citra Web Service
							
								Common Issues
							
								Compatibility List
							
								Contributing
							
								Default Keyboard Bindings
							
								Developer Information
							
								Dumping Config Savegame from a 3DS Console
							
								Dumping Extra Data from a 3DS Console
							
								Dumping Game Cartridges
							
								Dumping Installed Titles
							
								Dumping Save Data from a 3DS Console
							
								Dumping System Archives and the Shared Fonts from a 3DS Console
							
								Dumping Updates and DLCs
							
								FAQ
							
								Home
							
								Installing FFmpeg for the Video Dumper
							
								Issue Labels
							
								Lifetime of an LLE library applet
							
								Log Filters
							
								Set Up APK Signing in Bitrise
							
								Stack Trace Guide for Citra
							
								Typical Git Workflow
							
								User Directory
							
								Using a Controller or Android Phone for Motion or Touch Input
							
						
					 Clone
	
					4 
					
				
						Building for OpenBSD
						
				
							
							N00byKing edited this page 2018-04-10 19:02:18 +02:00 
						
					OpenBSD is not officially supported. These instructions are not actively updated and represent what happened to work for one user on amd64 in March 2018.
Install the required packages: (Please amend if you notice some are missing, I did not test this on a clean installation!)
pkg_add cmake sdl2 qtbase 
The repository uses submodules, so remember to clone it recursively:
git clone --recursive https://github.com/citra-emu/citra
cd citra
To build, run the following in the repository root directory:
mkdir build && cd build
export Qt5_DIR=/usr/local/lib/qt5/cmake/Qt5
cmake \
    -DCMAKE_CXX_FLAGS='-I/usr/local/include -O2' \
    -DCMAKE_EXE_LINKER_FLAGS='-z wxneeded' ..
make
Rationale:
- Setting Qt5_DIRis necessary because cmake does not know to look for it under/usr/local/lib/qt5/cmakeby default.
- -I/usr/local/includeis needed for the compiler to find- iconv.h, as the base compiler does not look under- /usr/local/includeby default.
- -O2is needed for playable performance; this needs to be set even if- CMAKE_BUILD_TYPE=Release, as it does not set optimization flags by default (perhaps because the base amd64 compiler is clang?)
- Linking with -z wxneededis needed to enable writable-executable memory on OpenBSD. The resulting binary still needs to be run a partition withwxallowedset in the mount flags;/usr/localis mounted like this by default.