Creating the Visual Studio Template Project =========================================== 1. Create an empty Visual C++ Win32 Console App project Microsoft Visual Studio Express 2013 for Windows Desktop Open New Project Wizard (File -> New Project..) Project Name: YosysVS Solution Name: YosysVS [X] Create directory for solution [ ] Add to source control [X] Console applications [X] Empty Project [ ] SDL checks 2. Open YosysVS Project Properties Select Configuration: All Configurations C/C++ -> General -> Additional Include Directories Add: ..\yosys C/C++ -> Preprocessor -> Preprocessor Definitions Add: _YOSYS_;_CRT_SECURE_NO_WARNINGS 3. Resulting file system tree: YosysVS/ YosysVS/YosysVS YosysVS/YosysVS/YosysVS.vcxproj YosysVS/YosysVS/YosysVS.vcxproj.filters YosysVS/YosysVS.sdf YosysVS/YosysVS.sln YosysVS/YosysVS.v12.suo 4. Zip YosysVS as YosysVS-Tpl-v1.zip Compiling with Visual Studio ============================ Visual Studio builds are not directly supported by build scripts, but they are still possible. 1. Easy way - Go to https://github.com/YosysHQ/yosys/actions/workflows/vs.yml?query=branch%3Amaster - Click on the most recent completed run - In Artifacts region find vcxsrc and click on it to download - Unpack downloaded ZIP file - Open YosysVS.sln with Visual Studio 2. Using WSL or MSYS2 - Make sure to have make, python3 and git available - Git clone yosys repository - Execute ```make vcxsrc YOSYS_VER=latest``` - File yosys-win32-vcxsrc-latest.zip will be created - Transfer that file to location visible by Windows application - Unpack ZIP - Open YosysVS.sln with Visual Studio Cross-Building for Windows with MXE =================================== Check http://mxe.cc/#requirements and install all missing requirements. As root (or other user with write access to /usr/local/src): cd /usr/local/src git clone https://github.com/mxe/mxe.git cd mxe make -j$(nproc) MXE_PLUGIN_DIRS="plugins/tcl.tk" \ MXE_TARGETS="i686-w64-mingw32.static" \ gcc tcl readline Then as regular user in some directory where you build stuff: git clone https://github.com/YosysHQ/yosys.git yosys-win32 cd yosys-win32 make config-mxe make -j$(nproc) mxebin nput class='txt' type='search' size='10' name='q' value=''/>
path: root/common/host_driver.h
blob: edb9e5dd9c0f841b82e966608eda18d96b2ccd8e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
Copyright 2011 Jun Wako <wakojun@gmail.com>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

#ifndef HOST_DRIVER_H
#define HOST_DRIVER_H

#include <stdint.h>
#include "report.h"


typedef struct {
    uint8_t (*keyboard_leds)(void);
    void (*send_keyboard)(report_keyboard_t *);
    void (*send_mouse)(report_mouse_t *);
    void (*send_system)(uint16_t);
    void (*send_consumer)(uint16_t);
} host_driver_t;

#endif