====== Post-getting started guide ====== ===== Updating ===== It is recommended to perform an update after initial installation, as well as periodically to ensure the latest packages are installed. To update, run ''%%wf-pacman -Syu%%''. If wf-pacman itself has been updated, you will need to run ''%%wf-pacman -Syu%%'' again a second time - this is to ensure that any packages requiring a newer version of the package manager get installed correctly. ===== Installing packages ===== By itself, Wonderful provides only a package manager - installing further packages requires using ''%%wf-pacman%%''. * To install the [[wswan:index|wswan target]], run ''%%wf-pacman -S target-wswan%%''. Some tools are packaged separately from any target. For example, to install ''%%wf-superfamiconv%%'', run ''%%wf-pacman -S wf-superfamiconv%%''. Remember that each target and toolchain may have additional libraries! To discover them, use commands like ''%%wf-pacman -Ss target-wswan%%'' or ''%%wf-pacman -Ss toolchain-gcc-arm-none-eabi%%''. ===== Configuring environment variables ===== To make accessing ''%%wf-%%'' tools easy, you may want to alias ''%%wf-env%%'' to allow them to be easily added to PATH when needed: * For **bash**, add ''%%alias wf-env='source /opt/wonderful/bin/wf-env'%%'' to your ''%%~/.profile%%''. * For **fish**, add ''%%alias wf-env . /opt/wonderful/bin/wf-env.fish%%'' to your Fish configuration. * For **zsh**, add ''%%alias wf-env='source /opt/wonderful/bin/wf-env'%%'' to your ''%%~/.zprofile%%''. Alternatively, you may want to pre-populate the environment variables in your shell on launch: This is not recommended for Windows/MSYS2 users. Due to DLL resolution issues, this can cause MSYS2-built programs provided by other developers to not work correctly. Caveat emptor. * For **bash**, add ''%%source /opt/wonderful/bin/wf-env%%'' to your ''%%~/.profile%%''. * For **fish**, add ''%%. /opt/wonderful/bin/wf-env.fish%%'' to your Fish configuration. * For **zsh**, add ''%%source /opt/wonderful/bin/wf-env%%'' to your ''%%~/.zprofile%%''. If you want to access toolchain components (like ''ia16-elf-gcc'' or ''arm-none-eabi-objdump'') directly, you may wish to add the ''%%-a%%'' argument. ===== Configuring an IDE ===== If you'd like to use an IDE, ones which use the clangd plugin are best tested. [[https://vscodium.com/|VSCodium]] (or another fork of VSCode) with the [[https://clangd.llvm.org/installation.html|clangd plugin]] is recommended. To install the clangd plugin in VSCodium: - Select the "Extensions" tab from the left-hand menu. - Type ''clangd'' into the search bar at the top. - Select the project extension named "clangd" provided by "llvm-vs-code-extensions". - Press the "Install" button and follow any further instructions displayed by the IDE. Other IDEs and editors with clangd support, such as Sublime Text and vim, should also have full compatibility. In addition, the following IDEs are occasionally tested and should at least partially work: * Visual Studio Code, using Microsoft's own C extension with IntelliSense, * CLion, using JetBrains's own C engine. Third-party SDKs using the Wonderful toolchain may have their own, distinct, recommendations. ===== Learning more ===== Detailed (to the best of the toolchain's ability) information about each target and feature is available throughout [[:start|the wiki]]. You may also wish to consult [[:community|other community members]]. Have fun and remember not to take this hobby too seriously!