WhyCan Forum(哇酷开发者社区)

我们能随心所欲"有问题百度(谷歌)一下", 这得感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn

您尚未登录。

#1 2018-07-01 20:11:06

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

参考链接1: 2d绘图引擎 Cairo 在 V3s@Linux运行成功
参考链接2: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

源码地址: https://cgit.freedesktop.org/~joonas/cairosdl/

一直没有搞明白用git 怎么下载那几个文件, 所以只能用 wget 曲线下载.

需要安装 libSDL, libcairo.

Makefile 需要稍修改一下:

CFLAGS += -W -Wall -g -O3
CFLAGS += -I/usr/include/cairo -I/usr/include/SDL/ -lcairo -lSDL -lm

TARGETS=test-cairosdl fuzzy-balls sdl-clock gears

all: $(TARGETS)

fuzzy-balls: fuzzy-balls.o cairosdl.o
	$(CC) -o $@ $+ `pkg-config --libs sdl cairo` -lm

sdl-clock: sdl-clock.o cairosdl.o
	$(CC) -o $@ $+ `pkg-config --libs sdl cairo` -lm

gears: gears.o cairosdl.o
	$(CC) -o $@ $+ `pkg-config --libs sdl cairo` -lm

test-cairosdl: test-cairosdl.o cairosdl.o
	$(CC) -o $@ $+ `pkg-config --libs sdl cairo` -lm

clean:
	$(RM) $(TARGETS)
	$(RM) *.o
	$(RM) *~

或者直接用命令行编译:

gcc -o test fuzzy-balls.c cairosdl.c -I/usr/include/cairo -I/usr/include/SDL/ -lcairo -lSDL -lm

QQ20180701201541.png

QQ20180701201552.png

离线

#2 2018-07-01 22:30:45

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

cairosdl.h 文件内容:

#ifndef CAIROSDL_H
#define CAIROSDL_H
/*
 * Copyright (c) 2009  M Joonas Pihlaja
 *
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */
#include <cairo.h>
#include <SDL.h>

#ifdef __cplusplus
extern "C" {
#endif

/* All cairo and cairosdl functions expect the underlying SDL_Surface
 * to be locked or not need locking.  The underlying condition is that
 * the ->pixels member of the SDL_Surface should be valid and not
 * change during the lifetime of the cairo_surface_t representing it,
 * and that malloc and whatever other OS facilities are allowed to be
 * called. */

/* Create a cairo image surface and bind the SDL_Surface to it.  If
 * the pixel format of the SDL_Surface isn't supported by cairo,
 * returns a surface in CAIRO_STATUS_INVALID_FORMAT error state. */
cairo_surface_t *
cairosdl_surface_create (SDL_Surface *sdl_surface);

/* Returns the SDL_Surface bound to the image surface. */
SDL_Surface *
cairosdl_surface_get_target (cairo_surface_t *surface);


/* These functions are noops for Amask=0 surfaces.  For
 * Amask=0xFF000000 surfaces they write the indicated area(s) of the
 * SDL_Surface bound to the surface from a backing buffer. */
void
cairosdl_surface_flush_rects (cairo_surface_t *surface,
                              int              num_rects,
                              SDL_Rect const  *rects);

void
cairosdl_surface_flush_rect (cairo_surface_t *surface,
                             int              x,
                             int              y,
                             int              width,
                             int              height);

void
cairosdl_surface_flush (cairo_surface_t *surface);


/* These functions are noops for Amask=0 surfaces.  For
 * Amask=0xFF000000 surfaces they read the indicated area(s) from the
 * SDL_Surface bound to the surface into a backing buffer. */
void
cairosdl_surface_mark_dirty_rects (cairo_surface_t *surface,
                                   int              num_rects,
                                   SDL_Rect const  *rects);

void
cairosdl_surface_mark_dirty_rect (cairo_surface_t *surface,
                                  int              x,
                                  int              y,
                                  int              width,
                                  int              height);

void
cairosdl_surface_mark_dirty (cairo_surface_t *surface);


/* Context convenience functions. */

/* Equivalent to cairo_create(cairosdl_surface_create(sdl_surface)); */
cairo_t *
cairosdl_create (SDL_Surface *sdl_surface);

/* Equivalent to cairosdl_surface_get_target(cairo_get_target(cr));  */
SDL_Surface *
cairosdl_get_target (cairo_t *cr);

/* Calls cairosdl_surface_flush() on the target of the cairo context
 * and then destroys the context. */
void
cairosdl_destroy (cairo_t *cr);


/* Cairo pixel configuration.  This isn't tweakable, it just is. */
#define CAIROSDL_ASHIFT 24
#define CAIROSDL_RSHIFT 16
#define CAIROSDL_GSHIFT  8
#define CAIROSDL_BSHIFT  0
#define CAIROSDL_AMASK (255U << CAIROSDL_ASHIFT)
#define CAIROSDL_RMASK (255U << CAIROSDL_RSHIFT)
#define CAIROSDL_GMASK (255U << CAIROSDL_GSHIFT)
#define CAIROSDL_BMASK (255U << CAIROSDL_BSHIFT)

#ifdef __cplusplus
}
#endif
#endif /* CAIROSDL_H */

cairosdl.c 文件内容:

/*
 * Copyright (c) 2009  M Joonas Pihlaja
 * Copyright (c) 2009  Paul-Virak Khuong
 *
 * Permission is hereby granted, free of charge, to any person
 * obtaining a copy of this software and associated documentation
 * files (the "Software"), to deal in the Software without
 * restriction, including without limitation the rights to use,
 * copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the
 * Software is furnished to do so, subject to the following
 * conditions:
 *
 * The above copyright notice and this permission notice shall be
 * included in all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
 * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
 * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
 * OTHER DEALINGS IN THE SOFTWARE.
 */
#include <assert.h>
#include "cairosdl.h"

#ifdef __cplusplus
extern "C" {
#endif

/* forward references */
static void
_cairosdl_blit_and_unpremultiply (
    void       *target_buffer,
    size_t      target_stride,
    void const *source_buffer,
    size_t      source_stride,
    int         width,
    int         height);

static void
_cairosdl_blit_and_premultiply (
    void       *target_buffer,
    size_t      target_stride,
    void const *source_buffer,
    size_t      source_stride,
    int         width,
    int         height);

/*
 * Surface functions
 */

/* We're hanging the SDL_Surface as a user datum on the
 * cairo_surface_t representing it using this key.  Turns out we need
 * to initialise it for C++. */
static cairo_user_data_key_t const CAIROSDL_TARGET_KEY[1] = {{1}};

static void
sdl_surface_destroy_func (void *param)
{
    SDL_Surface *sdl_surface = (SDL_Surface *)param;
    if (sdl_surface != NULL)
        SDL_FreeSurface (sdl_surface);
}

cairo_surface_t *
cairosdl_surface_create (
    SDL_Surface *sdl_surface)
{
    cairo_surface_t *target;
    cairo_format_t format;
    int is_dirty;

    /* Cairo only supports a limited number of pixels formats.  Make
     * sure the surface format is compatible. */
    if (sdl_surface->format->BytesPerPixel != 4 ||
        sdl_surface->format->BitsPerPixel != 32)
        goto unsupported_format;

    if (sdl_surface->format->Rmask != CAIROSDL_RMASK ||
        sdl_surface->format->Gmask != CAIROSDL_GMASK ||
        sdl_surface->format->Bmask != CAIROSDL_BMASK)
        goto unsupported_format;

    switch (sdl_surface->format->Amask) {
    case CAIROSDL_AMASK:
        format = CAIRO_FORMAT_ARGB32;
        break;
    case 0:
        format = CAIRO_FORMAT_RGB24;
        break;
    default:
        goto unsupported_format;
    }

    /* Make the target point to either the SDL_Surface's data itself
     * or a shadow image surface if we need to unpremultiply pixels. */
    if (format == CAIRO_FORMAT_RGB24) {
        /* The caller is expected to have locked the surface (_if_ it
         * needs locking) so that sdl_surface->pixels is valid and
         * constant for the lifetime of the cairo_surface_t.  However,
         * we're told not to call any OS functions when a surface is
         * locked, so we really shouldn't call
         * cairo_image_surface_create () as it will malloc, so really
         * if the surface needs locking this shouldn't be used.
         *
         * However, it turns out malloc is actually safe on many (all?)
         * platforms so we'll just go ahead anyway. */
        unsigned char *data = (unsigned char*)(sdl_surface->pixels);
        target = cairo_image_surface_create_for_data (data,
                                                      format,
                                                      sdl_surface->w,
                                                      sdl_surface->h,
                                                      sdl_surface->pitch);
        is_dirty = 0;
    }
    else {
        /* Need a shadow image surface. */
        target = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                             sdl_surface->w,
                                             sdl_surface->h);
        is_dirty = 1;
    }

    if (cairo_surface_status (target) == CAIRO_STATUS_SUCCESS) {
        sdl_surface->refcount++;
        cairo_surface_set_user_data (target,
                                     CAIROSDL_TARGET_KEY,
                                     sdl_surface,
                                     sdl_surface_destroy_func);

        if (is_dirty)
            cairosdl_surface_mark_dirty (target);
    }

    return target;

 unsupported_format:
    /* Nasty kludge to get a cairo surface in CAIRO_INVALID_FORMAT
     * state. */
    return cairo_image_surface_create (
        (cairo_format_t)-1, 0, 0);
}

SDL_Surface *
cairosdl_surface_get_target (
    cairo_surface_t *surface)
{
    void *udata = cairo_surface_get_user_data (surface, CAIROSDL_TARGET_KEY);
    return (SDL_Surface*)(udata);
}

static cairo_status_t
_cairosdl_surface_obtain_SDL_buffer(
    cairo_surface_t *surface,
    unsigned char  **OUT_buffer,
    size_t          *OUT_stride,
    size_t          *OUT_width,
    size_t          *OUT_height)
{
    SDL_Surface *sdl_surface = cairosdl_surface_get_target (surface);
    if (sdl_surface == NULL)
        return CAIRO_STATUS_NULL_POINTER;

    if (OUT_buffer)
        *OUT_buffer = (unsigned char *)(sdl_surface->pixels);
    if (OUT_stride)
        *OUT_stride = sdl_surface->pitch;
    if (OUT_width)
        *OUT_width = sdl_surface->w;
    if (OUT_height)
        *OUT_height = sdl_surface->h;
    return CAIRO_STATUS_SUCCESS;
}

static cairo_status_t
_cairosdl_surface_obtain_shadow_buffer(
    cairo_surface_t *surface,
    unsigned char  **OUT_buffer,
    size_t          *OUT_stride,
    size_t          *OUT_width,
    size_t          *OUT_height)
{
    cairo_format_t format;

    if (cairo_surface_get_type (surface) != CAIRO_SURFACE_TYPE_IMAGE)
        return CAIRO_STATUS_SURFACE_TYPE_MISMATCH;

    format = cairo_image_surface_get_format (surface);
    if (format != CAIRO_FORMAT_ARGB32)
        return CAIRO_STATUS_INVALID_FORMAT;

    if (OUT_buffer != NULL)
        *OUT_buffer = cairo_image_surface_get_data (surface);
    if (OUT_stride != NULL)
        *OUT_stride = cairo_image_surface_get_stride (surface);
    if (OUT_width != NULL)
        *OUT_width = cairo_image_surface_get_width (surface);
    if (OUT_height != NULL)
        *OUT_height = cairo_image_surface_get_height (surface);
    return CAIRO_STATUS_SUCCESS;
}

void
cairosdl_surface_flush_rects (
    cairo_surface_t *surface,
    int              num_rects,
    SDL_Rect const  *rects)
{
    unsigned char *source_bytes;
    size_t source_stride;
    size_t source_width;
    size_t source_height;

    unsigned char *target_bytes;
    size_t target_stride;
    size_t target_width;
    size_t target_height;

    int width, height;
    cairo_status_t status;

    if (num_rects <= 0)
        return;

    cairo_surface_flush (surface);

    status = _cairosdl_surface_obtain_SDL_buffer (surface,
                                                  &target_bytes,
                                                  &target_stride,
                                                  &target_width,
                                                  &target_height);
    if (status != CAIRO_STATUS_SUCCESS)
        return;                 /* no buffer -> nothing to do */

    status = _cairosdl_surface_obtain_shadow_buffer (surface,
                                                     &source_bytes,
                                                     &source_stride,
                                                     &source_width,
                                                     &source_height);
    if (status != CAIRO_STATUS_SUCCESS)
        return;                 /* no buffer -> nothing to do */

    width = source_width < target_width ? source_width : target_width;
    height = source_height < target_height ? source_height : target_height;
    assert(width >= 0 && height >= 0);

    while (num_rects-- > 0) {
        Sint32 x = rects->x;
        Sint32 y = rects->y;
        Sint32 w = rects->w;
        Sint32 h = rects->h;
        rects++;

        if (x <= 0) { w += x; x = 0; }
        if (y <= 0) { h += y; y = 0; }
        if (x + w >= width) w = width - x;
        if (y + h >= height) h = height - y;

        _cairosdl_blit_and_unpremultiply (
            target_bytes + target_stride*y + x, target_stride,
            source_bytes + source_stride*y + x, source_stride,
            w, h);
    }
}

void
cairosdl_surface_mark_dirty_rects (
    cairo_surface_t *surface,
    int              num_rects,
    SDL_Rect const  *rects)
{
    unsigned char *source_bytes = NULL;
    size_t source_stride = 0;
    size_t source_width = 32767;
    size_t source_height = 32767;

    unsigned char *target_bytes = NULL;
    size_t target_stride = 0;
    size_t target_width = 32767;
    size_t target_height = 32767;

    int width, height;
    cairo_status_t status;
    int have_buffers = 1;

    if (num_rects <= 0)
        return;

    status = _cairosdl_surface_obtain_SDL_buffer (surface,
                                                  &source_bytes,
                                                  &source_stride,
                                                  &source_width,
                                                  &source_height);
    if (status != CAIRO_STATUS_SUCCESS)
        have_buffers = 0;

    status = _cairosdl_surface_obtain_shadow_buffer (surface,
                                                     &target_bytes,
                                                     &target_stride,
                                                     &target_width,
                                                     &target_height);
    if (status != CAIRO_STATUS_SUCCESS)
        have_buffers = 0;

    width = source_width < target_width ? source_width : target_width;
    height = source_height < target_height ? source_height : target_height;
    assert(width >= 0 && height >= 0);

    while (num_rects-- > 0) {
        Sint32 x = rects->x;
        Sint32 y = rects->y;
        Sint32 w = rects->w;
        Sint32 h = rects->h;
        rects++;

        if (x <= 0) { w += x; x = 0; }
        if (y <= 0) { h += y; y = 0; }
        if (x >= width || y >= height) continue;
        if (x + w >= width) w = width - x;
        if (y + h >= height) h = height - y;
        if (w <= 0 || h <= 0) continue;

        if (have_buffers) {
            _cairosdl_blit_and_premultiply (
                target_bytes + target_stride*y + x, target_stride,
                source_bytes + source_stride*y + x, source_stride,
                w, h);
        }

        cairo_surface_mark_dirty_rectangle (surface, x, y, w, h);
    }
}

static SDL_Rect
make_rect(int x, int y, int w, int h)
{
    static SDL_Rect const empty_rect = {0,0,0,0};
    SDL_Rect r;

    /* Clamp the rect to [0,32768). */
    if (w <= 0 || h <= 0)
        return empty_rect;
    if (x < 0) { w += x; x = 0; }
    if (y < 0) { h += y; y = 0; }
    if ((unsigned)w > 32767) w = 32767;
    if ((unsigned)h > 32767) h = 32767;

    r.x = x;
    r.y = y;
    r.w = w;
    r.h = h;
    return r;
}

void
cairosdl_surface_flush_rect (
    cairo_surface_t *surface,
    int              x,
    int              y,
    int              w,
    int              h)
{
    SDL_Rect rect = make_rect(x, y, w, h);
    cairosdl_surface_flush_rects (surface, 1, &rect);
}

void
cairosdl_surface_mark_dirty_rect (
    cairo_surface_t *surface,
    int              x,
    int              y,
    int              w,
    int              h)
{
    SDL_Rect rect = make_rect(x, y, w, h);
    cairosdl_surface_mark_dirty_rects (surface, 1, &rect);
}

void
cairosdl_surface_flush (cairo_surface_t *surface)
{
    cairosdl_surface_flush_rect (surface, 0, 0, 32767, 32767);
}

void
cairosdl_surface_mark_dirty (cairo_surface_t *surface)
{
    cairosdl_surface_mark_dirty_rect (surface, 0, 0, 32767, 32767);
}

/*
 * Context functions for convenience.
 */

SDL_Surface *
cairosdl_get_target (cairo_t *cr)
{
    return cairosdl_surface_get_target (cairo_get_target (cr));
}

cairo_t *
cairosdl_create (SDL_Surface *sdl_surface)
{
    cairo_surface_t *surface = cairosdl_surface_create (sdl_surface);
    cairo_t *cr = cairo_create (surface);
    cairo_surface_destroy (surface);
    return cr;
}

void
cairosdl_destroy (cairo_t *cr)
{
    cairosdl_surface_flush (cairo_get_target (cr));
    cairo_destroy (cr);
}

/* unpremultiply-lutb.c
 *
 * A pixel premultiplier and an unpremultiplier using reciprocal
 * multiplication.  It specialises constant runs and solid runs of
 * pixels with low overhead loops and uses only a 1KB table of
 * reciprocals.
 *
 * The unpremultiplier was snarfed from
 * http://cgit.freedesktop.org/~joonas/unpremultiply
 *
 * See there for other faster or nonportable variations on
 * unpremultiply.  This one is a good all rounder that doesn't take
 * that much data space. */

/* Pixel format config for a 32 bit pixel with 8 bit components.  Only
 * the location of alpha matters.  Cairo uses ASHIFT 24. */
#define ASHIFT CAIROSDL_ASHIFT
#define RSHIFT ((24 + ASHIFT) % 32)
#define GSHIFT ((16 + ASHIFT) % 32)
#define BSHIFT (( 8 + ASHIFT) % 32)

#define AMASK (255U << ASHIFT)
#define RMASK (255U << RSHIFT)
#define GMASK (255U << GSHIFT)
#define BMASK (255U << BSHIFT)

/* Set to 1 if the input can have superluminant pixels.  Cairo doesn't
 * produce them. */
#define DO_CLAMP_INPUT 0

/* Shift x left by y bits.  Supports negative y for right shifts. */
#define SHIFT(x, y) ((y) < 0 ? (x) >> (-(y)) : (x) << (y))

#define ceil_div(a,b) ((a) + (b)-1) / (b)

/* The reciprocal_table[ i] entries are defined by
 *
 * 	0		when i = 0
 *	255 / i		when i > 0
 *
 * represented in fixed point format with RECIPROCAL_BITS of
 * precision and errors rounded up. */
#define RECIPROCAL_BITS 16
static unsigned const reciprocal_table[256] = {
# define R(i)  ((i) ? ceil_div(255*(1<<RECIPROCAL_BITS), (i)) : 0)
# define R1(i) R(i),  R(i+1),   R(i+2),   R(i+3)
# define R2(i) R1(i), R1(i+4),  R1(i+8),  R1(i+12)
# define R3(i) R2(i), R2(i+16), R2(i+32), R2(i+48)
               R3(0), R3(64),   R3(128),  R3(192)
};

/* Transfer num_pixels premultiplied pixels from src[] to dst[] and
 * unpremultiply them. */
static void
unpremultiply_row(
    unsigned       * dst,
    unsigned const * src,
    size_t           num_pixels)
{
    size_t i = 0;
    while (i < num_pixels) {
	/* We want to identify long runs of constant input pixels and
	 * cache the unpremultiplied.  */
        unsigned const_in, const_out;

        /* Diff is the or of all bitwise differences from const_in
	 * during the probe period.  If it is zero after the probe
	 * period then every input pixel was identical in the
	 * probe. */
        unsigned diff = 0;

        /* Accumulator for all alphas of the probe period pixels,
	 * biased to make the sum zero if the */
        unsigned accu = -2*255;

        {
	    unsigned rgba, a, r, g, b, recip;
            rgba = const_in = src[ i];
            a = (rgba >> ASHIFT) & 255;
            accu += a;
            r = (rgba >> RSHIFT) & 255;
            g = (rgba >> GSHIFT) & 255;
            b = (rgba >> BSHIFT) & 255;
            recip = reciprocal_table[a];
#if DO_CLAMP_INPUT
	    r = r < a ? r : a;
	    g = g < a ? g : a;
	    b = b < a ? b : a;
#endif
            r = SHIFT(r * recip, RSHIFT - RECIPROCAL_BITS);
            g = SHIFT(g * recip, GSHIFT - RECIPROCAL_BITS);
            b = SHIFT(b * recip, BSHIFT - RECIPROCAL_BITS);
            dst[ i] = const_out =
		(r & RMASK) | (g & GMASK) | (b & BMASK) | (rgba & AMASK);
        }

	if (i + 1 == num_pixels)
	    return;

	{
	    unsigned rgba, a, r, g, b, recip;
            rgba = src[i+1];
            a = (rgba >> ASHIFT) & 255;
            accu += a;
            r = (rgba >> RSHIFT) & 255;
            g = (rgba >> GSHIFT) & 255;
            b = (rgba >> BSHIFT) & 255;
            recip = reciprocal_table[a];
#if DO_CLAMP_INPUT
	    r = r < a ? r : a;
	    g = g < a ? g : a;
	    b = b < a ? b : a;
#endif
            diff = rgba ^ const_in;
            r = SHIFT(r * recip, RSHIFT - RECIPROCAL_BITS);
            g = SHIFT(g * recip, GSHIFT - RECIPROCAL_BITS);
            b = SHIFT(b * recip, BSHIFT - RECIPROCAL_BITS);
            dst[i+1] =
		(r & RMASK) | (g & GMASK) | (b & BMASK) | (rgba & AMASK);
        }

        i += 2;

	/* Fall into special cases if we have special
	 * circumstances. */
        if (0 != (accu & diff))
	    continue;

        if (0 == accu) {	/* a run of solid pixels. */
            unsigned in;
            while (AMASK == ((in = src[ i]) & AMASK)) {
                dst[i++] = in;
                if (i == num_pixels) return;
            }
        } else if (0 == diff) {	/* a run of constant pixels. */
            while (src[ i] == const_in) {
                dst[i++] = const_out;
                if (i == num_pixels) return;
            }
        }
    }
}

/* Transfer num_pixels unpremultiplied pixels from src[] to dst[] and
 * premultiply them. */
static void
premultiply_row(
    unsigned       * dst,
    unsigned const * src,
    size_t           num_pixels)
{
    size_t i = 0;
    while (i < num_pixels) {
	/* We want to identify long runs of constant input pixels and
	 * cache the unpremultiplied.  */
        unsigned const_in, const_out;

        /* Diff is the or of all bitwise differences from const_in
	 * during the probe period.  If it is zero after the probe
	 * period then every input pixel was identical in the
	 * probe. */
        unsigned diff = 0;

        /* Accumulator for all alphas of the probe period pixels,
	 * biased to make the sum zero if the */
        unsigned accu = -2*255;

        {
	    unsigned rgba, a, r, g, b;
            rgba = const_in = src[ i];
            a = (rgba >> ASHIFT) & 255;
            accu += a;
            r = (rgba >> RSHIFT) & 255;
            g = (rgba >> GSHIFT) & 255;
            b = (rgba >> BSHIFT) & 255;

            r = SHIFT(r*a*257 + 32768, RSHIFT - 16);
            g = SHIFT(g*a*257 + 32768, GSHIFT - 16);
            b = SHIFT(b*a*257 + 32768, BSHIFT - 16);
            dst[ i] = const_out =
		(r & RMASK) | (g & GMASK) | (b & BMASK) | (rgba & AMASK);
        }

	if (i + 1 == num_pixels)
	    return;

	{
	    unsigned rgba, a, r, g, b;
            rgba = src[i+1];
            a = (rgba >> ASHIFT) & 255;
            accu += a;
            r = (rgba >> RSHIFT) & 255;
            g = (rgba >> GSHIFT) & 255;
            b = (rgba >> BSHIFT) & 255;
            diff = rgba ^ const_in;

            r = SHIFT(r*a*257 + 32768, RSHIFT - 16);
            g = SHIFT(g*a*257 + 32768, GSHIFT - 16);
            b = SHIFT(b*a*257 + 32768, BSHIFT - 16);
            dst[i+1] =
		(r & RMASK) | (g & GMASK) | (b & BMASK) | (rgba & AMASK);
        }

        i += 2;

	/* Fall into special cases if we have special
	 * circumstances. */
        if (0 != (accu & diff))
	    continue;

        if (0 == accu) {	/* a run of solid pixels. */
            unsigned in;
            while (AMASK == ((in = src[ i]) & AMASK)) {
                dst[i++] = in;
                if (i == num_pixels) return;
            }
        } else if (0 == diff) {	/* a run of constant pixels. */
            while (src[ i] == const_in) {
                dst[i++] = const_out;
                if (i == num_pixels) return;
            }
        }
    }
}

static void
_cairosdl_blit_and_unpremultiply (
    void       *target_buffer,
    size_t      target_stride,
    void const *source_buffer,
    size_t      source_stride,
    int         width,
    int         height)
{
    unsigned char *target_bytes =
        (unsigned char *)target_buffer;
    unsigned char const *source_bytes =
        (unsigned char const *)source_buffer;
    if (width <= 0)
        return;

    while (height-- > 0) {
        unpremultiply_row ((unsigned *)target_bytes,
                           (unsigned const *)source_bytes,
                           width);

        target_bytes += target_stride;
        source_bytes += source_stride;
    }
}

static void
_cairosdl_blit_and_premultiply (
    void       *target_buffer,
    size_t      target_stride,
    void const *source_buffer,
    size_t      source_stride,
    int         width,
    int         height)
{
    unsigned char *target_bytes =
        (unsigned char *)target_buffer;
    unsigned char const *source_bytes =
        (unsigned char const *)source_buffer;
    if (width <= 0)
        return;

    while (height-- > 0) {
        premultiply_row ((unsigned *)target_bytes,
                         (unsigned const *)source_bytes,
                         width);

        target_bytes += target_stride;
        source_bytes += source_stride;
    }
}

#ifdef __cplusplus
}
#endif

https://cgit.freedesktop.org/~joonas/cairosdl/plain/fuzzy-balls.c?h=demos
fuzzy-balls.c 文件内容:

#include <assert.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include "cairosdl.h"

#define dprintf(args)

#define BLIT_BOBS_USING_CAIRO 1

struct vector {
    double x, y;
};

#define MAX_BOBS 20

struct bob {
    struct vector pos;
    struct vector vel;
    struct vector accel;
    double mass;
    double radius;
    double focus;
    cairo_surface_t *surface;
};

static void
init_bobs (struct bob *bobs, size_t num_bobs)
{
    size_t i;
    double fill_ratio = 0.95;
    double n = sqrt(num_bobs);

    for (i=0; i<num_bobs; i++) {
        struct bob *bob = bobs + i;
        double theta = 1.0 - (i+0.5) / MAX_BOBS;
        double r = fill_ratio*(0.5 + theta*0.0)/n;
        r = r < 0.2 ? r : 0.2;
        bob->pos.x = rand () * 1.0 / RAND_MAX;
        bob->pos.y = rand () * 1.0 / RAND_MAX;
        bob->vel.x = bob->vel.y = 0;
        bob->accel.x = bob->accel.y = 0;
        bob->mass = (1+theta)*(1+theta);
        bob->mass = 1.0;      /* equal mass bobs have a smoother ride */
        bob->mass /= num_bobs;
        bob->radius = r;
        bob->focus = 1.0;
        bob->surface = NULL;
    }
}

static void
alloc_bobs (struct bob *bobs, size_t num_bobs)
{
    size_t i;
    SDL_Surface *screen = SDL_GetVideoSurface ();

    for (i=0; i<num_bobs; i++) {
        struct bob *bob = bobs + i;
        int width = screen->w * 2*bob->radius + 1;
        int height = screen->h * 2*bob->radius + 1;

        if (bob->surface) {
            cairo_surface_destroy (bob->surface);
            bob->surface = NULL;
        }

        if (BLIT_BOBS_USING_CAIRO) {
            bob->surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32,
                                                       width, height);
        }
        else {
            SDL_Surface *sdl_surface = SDL_CreateRGBSurface (
                SDL_SWSURFACE | SDL_SRCALPHA,
                width, height, 32,
                CAIROSDL_RMASK,
                CAIROSDL_GMASK,
                CAIROSDL_BMASK,
                CAIROSDL_AMASK);
            if (sdl_surface == NULL) {
                fprintf (stderr, "Failed allocating bob sdl surfaces: %s\n",
                         SDL_GetError ());
                exit (1);
            }
            assert (!SDL_MUSTLOCK (sdl_surface));
            bob->surface = cairosdl_surface_create (sdl_surface);
            SDL_FreeSurface (sdl_surface);
        }

        if (cairo_surface_status (bob->surface) != CAIRO_STATUS_SUCCESS) {
            cairo_status_t status = cairo_surface_status (bob->surface);
            fprintf (stderr, "Failed making a cairo surface for a bob: %s\n",
                     cairo_status_to_string (status));
            exit (1);
        }

    }
}

static void
render_bob (struct bob *bob, int i)
{
    int width = cairo_image_surface_get_width (bob->surface);
    int height = cairo_image_surface_get_height (bob->surface);
    cairo_t *cr = cairo_create (bob->surface);
    double theta = (i+0.5) / MAX_BOBS;
    double dx = bob->pos.x - 0.5;
    double dy = bob->pos.y - 0.5;

    cairo_scale (cr, 0.5*width, 0.5*height);
    cairo_translate (cr, 1.0, 1.0);

    cairo_set_tolerance (cr, 0.5);

    cairo_set_operator (cr, CAIRO_OPERATOR_CLEAR);
    cairo_paint (cr);

    cairo_set_operator (cr, CAIRO_OPERATOR_OVER);

    cairo_set_source_rgba (cr,
                           1-fabs(dx),
                           1-fabs(dy),
                           theta,
                           (1-2*fabs(dx))*(1-2*fabs(dy)));
    if (1) {
        cairo_pattern_t *pat;
        pat = cairo_pattern_create_radial (
            -dx, -dy, 0.0,
            0, 0, 1.0);
        cairo_pattern_add_color_stop_rgba (pat, 0.0,
                                           fabs(dy),
                                           0,
                                           fabs(dx),
                                           0);

        cairo_pattern_add_color_stop_rgba (pat, bob->focus,
                                           fabs(dx+dy),
                                           i&1 ? 1 : 1,
                                           i&1 ? fabs(dx) : 1-fabs(dx),
                                           0.6);

        cairo_pattern_add_color_stop_rgba (pat, 1.0,
                                           1 - fabs(dy),
                                           1 - fabs(dx),
                                           theta,
                                           0.0);

        cairo_set_source (cr, pat);
        cairo_pattern_destroy (pat);
    }

    cairo_arc (cr, 0,0, 1.0, 0, 6.29);
    cairo_close_path (cr);
    cairo_fill (cr);

    cairosdl_destroy (cr);
}

static void
render_bobs (struct bob *bobs, size_t num_bobs)
{
    size_t i;
    for (i=0; i<num_bobs; i++) {
        render_bob (bobs+i, i);
    }
}

static void
blit_bobs_using_sdl (struct bob *bobs, size_t num_bobs)
{
    size_t i;
    SDL_Surface *screen = SDL_GetVideoSurface ();

    for (i=0; i<num_bobs; i++) {
        struct bob *bob = bobs + i;
        SDL_Surface *sdl_surface = cairosdl_surface_get_target (bob->surface);
        SDL_Rect src_rect[1];
        SDL_Rect dst_rect[1];

        src_rect->x = 0;
        src_rect->y = 0;
        src_rect->w = sdl_surface->w;
        src_rect->h = sdl_surface->h;

        dst_rect->x = (bob->pos.x - bob->radius) * screen->w;
        dst_rect->y = (bob->pos.y - bob->radius) * screen->h;
        dst_rect->w = sdl_surface->w;
        dst_rect->h = sdl_surface->h;

        SDL_BlitSurface (sdl_surface, src_rect, screen, dst_rect);
    }
}

static void
blit_bobs_using_cairo (struct bob *bobs, size_t num_bobs)
{
    size_t i;
    SDL_Surface *screen = SDL_GetVideoSurface ();
    cairo_t *cr;

    while (SDL_LockSurface (screen) != 0) {
        SDL_Delay (1);
    }

    cr = cairosdl_create (screen);

    for (i=0; i<num_bobs; i++) {
        struct bob *bob = bobs + i;
        int x = (int)((bob->pos.x - bob->radius) * screen->w);
        int y = (int)((bob->pos.y - bob->radius) * screen->h);
        int width = cairo_image_surface_get_width (bob->surface);
        int height = cairo_image_surface_get_height (bob->surface);

        cairo_set_source_surface (cr, bob->surface, x,y);
        cairo_rectangle (cr,
                         x, y,
                         width, height);
        cairo_fill (cr);
    }

    cairo_destroy (cr);

    SDL_UnlockSurface (screen);
}

#define SQR(x) ((x)*(x))

static double
sim_bobs (struct bob *bobs, size_t num_bobs,
          double t0, double t1)
{
    double dt = 0.002;
    double G = 0.5;
    double t = t0;

    if (dt*10 < (t1 - t0) && 0)
        dt = (t1 - t0) / 10.0;

    while (t < t1) {
        size_t i, j;

        for (i=0; i<num_bobs; i++) {
            double theta = (i+0.5) / MAX_BOBS;
            double f = 0.3;
            bobs[ i].focus = f + (0.96-f)*0.5*(1 + cos(3.141*t*(1-theta)));
            bobs[ i].accel.x = (0.5-bobs[ i].pos.x)*0.0;
            bobs[ i].accel.y = (0.5-bobs[ i].pos.y)*0.0;
        }

        /* Basic mass attraction forces. */
        for (i=0; i<num_bobs; i++) {
            struct bob *p = bobs + i;
            for (j=i+1; j<num_bobs; j++) {
                struct bob *q = bobs + j;
                double dx = q->pos.x - p->pos.x;
                double dy = q->pos.y - p->pos.y;
                double dist2 = SQR(dx) + SQR(dy);
                double f = G / dist2;

                if ((i^j) & 1) {
                    f *= -1;
                }

                p->accel.x += dx*f*q->mass;
                p->accel.y += dy*f*q->mass;
                q->accel.x -= dx*f*p->mass;
                q->accel.y -= dy*f*p->mass;
            }
        }


        /* Integrate one step forwards. */
        for (i=0; i<num_bobs; i++) {
            struct bob *p = bobs + i;

            p->accel.x = p->accel.x;
            p->accel.y = p->accel.y;

            p->vel.x += dt*p->accel.x;
            p->vel.y += dt*p->accel.y;

            p->vel.x = p->vel.x;
            p->vel.y = p->vel.y;

            p->pos.x = p->pos.x + dt*p->vel.x;
            p->pos.y = p->pos.y + dt*p->vel.y;

        }

        /* Apply position constraints. */
        for (i=0; i<num_bobs; i++) {
            double eps = 0.0;
            struct bob *p = bobs + i;

            /* Bounce off each other after allowed overlap. */
            for (j=i+1; j<num_bobs; j++) {
                struct bob *q = bobs + j;
                double dx = q->pos.x - p->pos.x;
                double dy = q->pos.y - p->pos.y;
                double dist = sqrt(SQR(dx) + SQR(dy));
                double overlap = p->radius*p->focus + q->radius*q->focus - dist - 0.02;

                if (overlap < 0.0)
                    continue;
                p->pos.x -= dx*overlap/dist;
                p->pos.y -= dy*overlap/dist;
                q->pos.x += dx*overlap/dist;
                q->pos.y += dy*overlap/dist;

                /* Swap velocity vectors, preserve momentum. */
                {
                    double scale;
                    struct vector tmp = p->vel;
                    p->vel = q->vel;
                    q->vel = tmp;

                    scale = q->mass/p->mass;
                    p->vel.x *= scale;
                    p->vel.y *= scale;
                    scale = p->mass/q->mass;
                    q->vel.x *= scale;
                    q->vel.y *= scale;
                }
            }

            /* Bounce off walls */
            if (p->pos.x > 1+eps - p->radius*p->focus) {
                p->pos.x = 1+eps - p->radius*p->focus;
                p->vel.x *= -1;
            }
            if (p->pos.x < 0-eps + p->radius*p->focus) {
                p->pos.x = 0-eps + p->radius*p->focus;
                p->vel.x *= -1;
            }
            if (p->pos.y > 1+eps - p->radius*p->focus) {
                p->pos.y = 1+eps - p->radius*p->focus;
                p->vel.y *= -1;
            }
            if (p->pos.y < 0-eps + p->radius*p->focus) {
                p->pos.y = 0-eps + p->radius*p->focus;
                p->vel.y *= -1;
            }

        }


        t += dt;
        if (t + dt >= t1)
            dt = t1 - t + 1e-6;
    }

    return t1;
}

static void
push_expose ()
{
    SDL_Event event[1];
    event->type = SDL_VIDEOEXPOSE;
    if (SDL_PushEvent (event) != 0) {
        fprintf (stderr, "Failed to push an expose event: %s\n",
                 SDL_GetError ());
    }
}

static void
on_expose (struct bob *bobs, size_t num_bobs)
{
    SDL_Surface *screen = SDL_GetVideoSurface ();

    SDL_FillRect (screen, NULL,
                  SDL_MapRGBA (screen->format,
                               0,0,0,SDL_ALPHA_OPAQUE));

    if (BLIT_BOBS_USING_CAIRO)
        blit_bobs_using_cairo (bobs, num_bobs);
    else
        blit_bobs_using_sdl (bobs, num_bobs);

    SDL_Flip (screen);

    push_expose ();             /* Schedule another expose soon, */
}

static void
event_loop (unsigned flags, int width, int height)
{
    struct bob bobs[MAX_BOBS];
    size_t num_bobs = MAX_BOBS;

    double t0 = SDL_GetTicks () / 1000.0; /* Current simulation time.. */
    double t1;                  /* Next simulation time. */
    SDL_Event event[1];

    init_bobs (bobs, num_bobs);

    event->resize.type = SDL_VIDEORESIZE;
    event->resize.w = width;
    event->resize.h = height;
    SDL_PushEvent (event);

    while (SDL_WaitEvent (event)) {
        switch (event->type) {
        case SDL_VIDEORESIZE:
            if (SDL_SetVideoMode (event->resize.w,
                                  event->resize.h,
                                  32, flags) == NULL)
            {
                fprintf (stderr, "Failed to set video mode: %s\n",
                         SDL_GetError ());
                exit (1);
            }
            alloc_bobs (bobs, num_bobs);
            render_bobs (bobs, num_bobs);
            /* fallthrough  */

        case SDL_VIDEOEXPOSE:
            t1 = SDL_GetTicks () / 1000.0;
            render_bobs (bobs, num_bobs);
            t0 = sim_bobs (bobs, num_bobs, t0, t1);
            on_expose (bobs, num_bobs);
            break;

        case SDL_KEYDOWN:
            if (event->key.keysym.sym == SDLK_q)
                return;
        }
    }
    fprintf (stderr, "WaitEvent failed: %s\n", SDL_GetError ());
}

int
main()
{
    int width = 600;
    int height = 600;
    int flags = SDL_INIT_TIMER | SDL_INIT_VIDEO | SDL_INIT_NOPARACHUTE;

    if (SDL_Init (flags) < 0) {
        fprintf (stderr, "Failed to initialise SDL: %s\n",
                 SDL_GetError ());
        exit (1);
    }
    atexit (SDL_Quit);

    if (1) {
        event_loop (
            SDL_SWSURFACE | SDL_RESIZABLE,
            width, height);
    }
    else {
        event_loop (
            SDL_HWSURFACE |
            SDL_FULLSCREEN |
            SDL_DOUBLEBUF,
            width, height);
    }
    return 0;
}

离线

#3 2018-07-02 09:48:47

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

QQ20180702094223.jpg

经过一番折腾之后,在 linux 4.13-y@V3s 把这个程序跑起来了,但是效果惨不忍睹, 帧率非常低。

buildroot的 config 文件:

#
# Automatically generated file; DO NOT EDIT.
# Buildroot 2017.08.1 Configuration
#
BR2_HAVE_DOT_CONFIG=y
BR2_HOST_GCC_AT_LEAST_4_5=y
BR2_HOST_GCC_AT_LEAST_4_6=y
BR2_HOST_GCC_AT_LEAST_4_7=y
BR2_HOST_GCC_AT_LEAST_4_8=y

#
# Target options
#
BR2_SOFT_FLOAT=y
BR2_ARCH_HAS_MMU_OPTIONAL=y
# BR2_arcle is not set
# BR2_arceb is not set
BR2_arm=y
# BR2_armeb is not set
# BR2_aarch64 is not set
# BR2_aarch64_be is not set
# BR2_bfin is not set
# BR2_csky is not set
# BR2_i386 is not set
# BR2_m68k is not set
# BR2_microblazeel is not set
# BR2_microblazebe is not set
# BR2_mips is not set
# BR2_mipsel is not set
# BR2_mips64 is not set
# BR2_mips64el is not set
# BR2_nios2 is not set
# BR2_or1k is not set
# BR2_powerpc is not set
# BR2_powerpc64 is not set
# BR2_powerpc64le is not set
# BR2_sh is not set
# BR2_sparc is not set
# BR2_sparc64 is not set
# BR2_x86_64 is not set
# BR2_xtensa is not set
BR2_ARCH="arm"
BR2_ENDIAN="LITTLE"
BR2_GCC_TARGET_ABI="aapcs-linux"
BR2_GCC_TARGET_CPU="arm926ej-s"
BR2_GCC_TARGET_FLOAT_ABI="soft"
BR2_GCC_TARGET_MODE="arm"
BR2_BINFMT_SUPPORTS_SHARED=y
BR2_READELF_ARCH_NAME="ARM"
BR2_BINFMT_ELF=y
BR2_ARM_CPU_MAYBE_HAS_VFPV2=y
BR2_ARM_CPU_HAS_ARM=y
BR2_ARM_CPU_HAS_THUMB=y
BR2_ARM_CPU_ARMV5=y
# BR2_arm920t is not set
# BR2_arm922t is not set
BR2_arm926t=y
# BR2_arm1136j_s is not set
# BR2_arm1136jf_s is not set
# BR2_arm1176jz_s is not set
# BR2_arm1176jzf_s is not set
# BR2_arm11mpcore is not set
# BR2_cortex_a5 is not set
# BR2_cortex_a7 is not set
# BR2_cortex_a8 is not set
# BR2_cortex_a9 is not set
# BR2_cortex_a12 is not set
# BR2_cortex_a15 is not set
# BR2_cortex_a15_a7 is not set
# BR2_cortex_a17 is not set
# BR2_cortex_a17_a7 is not set
# BR2_cortex_a53 is not set
# BR2_cortex_a57 is not set
# BR2_cortex_a57_a53 is not set
# BR2_cortex_a72 is not set
# BR2_cortex_a72_a53 is not set
# BR2_cortex_m3 is not set
# BR2_cortex_m4 is not set
# BR2_fa526 is not set
# BR2_pj4 is not set
# BR2_strongarm is not set
# BR2_xscale is not set
# BR2_iwmmxt is not set
# BR2_ARM_ENABLE_VFP is not set
BR2_ARM_EABI=y
BR2_ARM_SOFT_FLOAT=y
BR2_ARM_INSTRUCTIONS_ARM=y
# BR2_ARM_INSTRUCTIONS_THUMB is not set

#
# Build options
#

#
# Commands
#
BR2_WGET="wget --passive-ftp -nd -t 3"
BR2_SVN="svn"
BR2_BZR="bzr"
BR2_GIT="git"
BR2_CVS="cvs"
BR2_LOCALFILES="cp"
BR2_SCP="scp"
BR2_SSH="ssh"
BR2_HG="hg"
BR2_ZCAT="gzip -d -c"
BR2_BZCAT="bzcat"
BR2_XZCAT="xzcat"
BR2_LZCAT="lzip -d -c"
BR2_TAR_OPTIONS=""
BR2_DEFCONFIG="$(CONFIG_DIR)/defconfig"
BR2_DL_DIR="$(TOPDIR)/dl"
BR2_HOST_DIR="$(BASE_DIR)/host"

#
# Mirrors and Download locations
#
BR2_PRIMARY_SITE=""
BR2_BACKUP_SITE="http://sources.buildroot.net"
BR2_KERNEL_MIRROR="https://cdn.kernel.org/pub"
BR2_GNU_MIRROR="http://ftpmirror.gnu.org"
BR2_LUAROCKS_MIRROR="http://rocks.moonscript.org"
BR2_CPAN_MIRROR="http://cpan.metacpan.org"
BR2_JLEVEL=0
# BR2_CCACHE is not set
# BR2_ENABLE_DEBUG is not set
BR2_STRIP_strip=y
BR2_STRIP_EXCLUDE_FILES=""
BR2_STRIP_EXCLUDE_DIRS=""
# BR2_OPTIMIZE_0 is not set
# BR2_OPTIMIZE_1 is not set
# BR2_OPTIMIZE_2 is not set
# BR2_OPTIMIZE_3 is not set
# BR2_OPTIMIZE_G is not set
BR2_OPTIMIZE_S=y
# BR2_GOOGLE_BREAKPAD_ENABLE is not set
BR2_SSP_NONE=y
# BR2_SSP_REGULAR is not set

#
# Stack Smashing Protection strong needs a toolchain w/ gcc >= 4.9
#
# BR2_SSP_ALL is not set
# BR2_STATIC_LIBS is not set
BR2_SHARED_LIBS=y
# BR2_SHARED_STATIC_LIBS is not set
BR2_PACKAGE_OVERRIDE_FILE="$(CONFIG_DIR)/local.mk"
BR2_GLOBAL_PATCH_DIR=""

#
# Advanced
#
BR2_COMPILER_PARANOID_UNSAFE_PATH=y
# BR2_REPRODUCIBLE is not set

#
# Toolchain
#
BR2_TOOLCHAIN=y
BR2_TOOLCHAIN_USES_GLIBC=y
# BR2_TOOLCHAIN_BUILDROOT is not set
BR2_TOOLCHAIN_EXTERNAL=y

#
# Toolchain External Options
#

#
# Linaro toolchains available for Cortex-A + EABIhf
#
# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM is not set
BR2_TOOLCHAIN_EXTERNAL_CUSTOM=y
# BR2_TOOLCHAIN_EXTERNAL_DOWNLOAD is not set
BR2_TOOLCHAIN_EXTERNAL_PREINSTALLED=y
BR2_TOOLCHAIN_EXTERNAL_PATH="/usr/local/arm-2014.05/"
BR2_TOOLCHAIN_EXTERNAL_GLIBC=y
BR2_PACKAGE_HAS_TOOLCHAIN_EXTERNAL=y
BR2_PACKAGE_PROVIDES_TOOLCHAIN_EXTERNAL="toolchain-external-custom"
BR2_TOOLCHAIN_EXTERNAL_PREFIX="$(ARCH)-linux"
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_PREFIX="$(ARCH)-linux"
# BR2_TOOLCHAIN_EXTERNAL_GCC_7 is not set
# BR2_TOOLCHAIN_EXTERNAL_GCC_6 is not set
# BR2_TOOLCHAIN_EXTERNAL_GCC_5 is not set
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_9 is not set
BR2_TOOLCHAIN_EXTERNAL_GCC_4_8=y
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_7 is not set
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_6 is not set
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_5 is not set
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_4 is not set
# BR2_TOOLCHAIN_EXTERNAL_GCC_4_3 is not set
# BR2_TOOLCHAIN_EXTERNAL_GCC_OLD is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_12 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_11 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_10 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_9 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_8 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_7 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_6 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_5 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_4 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_3 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_2 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_1 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_4_0 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_19 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_18 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_17 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_16 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_15 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_14 is not set
BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_13=y
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_12 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_11 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_10 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_9 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_8 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_7 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_6 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_5 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_4 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_3 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_2 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_1 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_3_0 is not set
# BR2_TOOLCHAIN_EXTERNAL_HEADERS_REALLY_OLD is not set
# BR2_TOOLCHAIN_EXTERNAL_CUSTOM_UCLIBC is not set
BR2_TOOLCHAIN_EXTERNAL_CUSTOM_GLIBC=y
# BR2_TOOLCHAIN_EXTERNAL_CUSTOM_MUSL is not set
BR2_TOOLCHAIN_EXTERNAL_HAS_SSP=y
BR2_TOOLCHAIN_EXTERNAL_INET_RPC=y
BR2_TOOLCHAIN_EXTERNAL_CXX=y
BR2_TOOLCHAIN_EXTRA_EXTERNAL_LIBS=""
BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY=y

#
# Host GDB Options
#

#
# Toolchain Generic Options
#
BR2_TOOLCHAIN_HAS_GCC_BUG_64735=y
BR2_TOOLCHAIN_HAS_NATIVE_RPC=y
BR2_USE_WCHAR=y
BR2_ENABLE_LOCALE=y
BR2_INSTALL_LIBSTDCPP=y
BR2_TOOLCHAIN_HAS_THREADS=y
BR2_TOOLCHAIN_HAS_THREADS_DEBUG=y
BR2_TOOLCHAIN_HAS_THREADS_NPTL=y
BR2_TOOLCHAIN_HAS_SHADOW_PASSWORDS=y
BR2_TOOLCHAIN_HAS_SSP=y
BR2_TOOLCHAIN_SUPPORTS_PIE=y
# BR2_TOOLCHAIN_GLIBC_GCONV_LIBS_COPY is not set
BR2_TOOLCHAIN_HAS_FULL_GETTEXT=y
BR2_USE_MMU=y
BR2_TARGET_OPTIMIZATION=""
BR2_TARGET_LDFLAGS=""
# BR2_ECLIPSE_REGISTER is not set
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_0=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_1=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_2=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_3=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_4=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_5=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_6=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_8=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_9=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_10=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_11=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_13=y
BR2_TOOLCHAIN_HEADERS_AT_LEAST="3.13"
BR2_TOOLCHAIN_GCC_AT_LEAST_4_3=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_4=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_5=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_6=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_7=y
BR2_TOOLCHAIN_GCC_AT_LEAST_4_8=y
BR2_TOOLCHAIN_GCC_AT_LEAST="4.8"
BR2_TOOLCHAIN_HAS_SYNC_1=y
BR2_TOOLCHAIN_HAS_SYNC_2=y
BR2_TOOLCHAIN_HAS_SYNC_4=y
BR2_TOOLCHAIN_ARM_HAS_SYNC_8=y
BR2_TOOLCHAIN_HAS_SYNC_8=y
BR2_TOOLCHAIN_HAS_LIBATOMIC=y
BR2_TOOLCHAIN_HAS_ATOMIC=y

#
# System configuration
#
BR2_ROOTFS_SKELETON_DEFAULT=y
# BR2_ROOTFS_SKELETON_CUSTOM is not set
# BR2_ROOTFS_MERGED_USR is not set
BR2_TARGET_GENERIC_HOSTNAME="buildroot"
BR2_TARGET_GENERIC_ISSUE="Welcome to Buildroot"
BR2_TARGET_GENERIC_PASSWD_MD5=y
# BR2_TARGET_GENERIC_PASSWD_SHA256 is not set
# BR2_TARGET_GENERIC_PASSWD_SHA512 is not set
BR2_TARGET_GENERIC_PASSWD_METHOD="md5"
BR2_INIT_BUSYBOX=y
# BR2_INIT_SYSV is not set
# BR2_INIT_SYSTEMD is not set
# BR2_INIT_NONE is not set
# BR2_ROOTFS_DEVICE_CREATION_STATIC is not set
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_DEVTMPFS=y
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV is not set
BR2_ROOTFS_DEVICE_TABLE="system/device_table.txt"
# BR2_ROOTFS_DEVICE_TABLE_SUPPORTS_EXTENDED_ATTRIBUTES is not set
BR2_TARGET_ENABLE_ROOT_LOGIN=y
BR2_TARGET_GENERIC_ROOT_PASSWD=""
BR2_SYSTEM_BIN_SH_BUSYBOX=y

#
# bash, dash, mksh, zsh need BR2_PACKAGE_BUSYBOX_SHOW_OTHERS
#
# BR2_SYSTEM_BIN_SH_NONE is not set
BR2_TARGET_GENERIC_GETTY=y
BR2_TARGET_GENERIC_GETTY_PORT="console"
BR2_TARGET_GENERIC_GETTY_BAUDRATE_KEEP=y
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_9600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_19200 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_38400 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_57600 is not set
# BR2_TARGET_GENERIC_GETTY_BAUDRATE_115200 is not set
BR2_TARGET_GENERIC_GETTY_BAUDRATE="0"
BR2_TARGET_GENERIC_GETTY_TERM="vt100"
BR2_TARGET_GENERIC_GETTY_OPTIONS=""
BR2_TARGET_GENERIC_REMOUNT_ROOTFS_RW=y
BR2_SYSTEM_DHCP=""
BR2_ENABLE_LOCALE_PURGE=y
BR2_ENABLE_LOCALE_WHITELIST="C en_US"
BR2_GENERATE_LOCALE=""
# BR2_SYSTEM_ENABLE_NLS is not set
BR2_TARGET_TZ_INFO=y
BR2_TARGET_TZ_ZONELIST="default"
BR2_TARGET_LOCALTIME="Etc/UTC"
BR2_ROOTFS_USERS_TABLES=""
BR2_ROOTFS_OVERLAY=""
BR2_ROOTFS_POST_BUILD_SCRIPT=""
BR2_ROOTFS_POST_FAKEROOT_SCRIPT=""
BR2_ROOTFS_POST_IMAGE_SCRIPT=""

#
# Kernel
#
# BR2_LINUX_KERNEL is not set

#
# Target packages
#
BR2_PACKAGE_BUSYBOX=y
BR2_PACKAGE_BUSYBOX_CONFIG="package/busybox/busybox.config"
BR2_PACKAGE_BUSYBOX_CONFIG_FRAGMENT_FILES=""
# BR2_PACKAGE_BUSYBOX_SHOW_OTHERS is not set
# BR2_PACKAGE_BUSYBOX_SELINUX is not set
# BR2_PACKAGE_BUSYBOX_INDIVIDUAL_BINARIES is not set
# BR2_PACKAGE_BUSYBOX_WATCHDOG is not set
BR2_PACKAGE_SKELETON=y
BR2_PACKAGE_HAS_SKELETON=y
BR2_PACKAGE_PROVIDES_SKELETON="skeleton-init-sysv"
BR2_PACKAGE_SKELETON_INIT_COMMON=y
BR2_PACKAGE_SKELETON_INIT_SYSV=y

#
# Audio and video applications
#
# BR2_PACKAGE_ALSA_UTILS is not set
# BR2_PACKAGE_ATEST is not set
# BR2_PACKAGE_AUMIX is not set
# BR2_PACKAGE_BELLAGIO is not set
# BR2_PACKAGE_DVBLAST is not set
# BR2_PACKAGE_DVDAUTHOR is not set
# BR2_PACKAGE_DVDRW_TOOLS is not set
# BR2_PACKAGE_ESPEAK is not set
# BR2_PACKAGE_FAAD2 is not set
BR2_PACKAGE_FFMPEG_ARCH_SUPPORTS=y
# BR2_PACKAGE_FFMPEG is not set
# BR2_PACKAGE_FLAC is not set
# BR2_PACKAGE_FLITE is not set
# BR2_PACKAGE_GMRENDER_RESURRECT is not set
# BR2_PACKAGE_GSTREAMER is not set
# BR2_PACKAGE_GSTREAMER1 is not set
# BR2_PACKAGE_JACK2 is not set
BR2_PACKAGE_KODI_ARCH_SUPPORTS=y

#
# kodi needs python w/ .py modules, a uClibc or glibc toolchain w/ C++, locale, threads, wchar, dynamic library, gcc >= 4.8, host gcc >= 4.6
#

#
# kodi needs an OpenGL EGL with either an openGL or an OpenGL ES backend
#
# BR2_PACKAGE_LAME is not set
BR2_PACKAGE_MADPLAY=y
BR2_PACKAGE_MADPLAY_ALSA=y
# BR2_PACKAGE_MIMIC is not set

#
# miraclecast needs systemd and a glibc toolchain w/ threads and wchar
#
# BR2_PACKAGE_MJPEGTOOLS is not set
# BR2_PACKAGE_MODPLUGTOOLS is not set
# BR2_PACKAGE_MOTION is not set

#
# mpd needs a toolchain w/ C++, threads, wchar, gcc >= 4.9
#
# BR2_PACKAGE_MPD_MPC is not set
BR2_PACKAGE_MPG123=y
BR2_PACKAGE_MPLAYER_ARCH_SUPPORTS=y
# BR2_PACKAGE_MPLAYER is not set
# BR2_PACKAGE_MPV is not set
# BR2_PACKAGE_MULTICAT is not set
# BR2_PACKAGE_MUSEPACK is not set
# BR2_PACKAGE_NCMPC is not set

#
# on2-8170-libs needs a glibc toolchain and a Linux kernel to be built
#
# BR2_PACKAGE_OPUS_TOOLS is not set
# BR2_PACKAGE_PULSEAUDIO is not set
# BR2_PACKAGE_SOX is not set
# BR2_PACKAGE_SQUEEZELITE is not set

#
# tovid depends on python or python3
#
# BR2_PACKAGE_TSTOOLS is not set
# BR2_PACKAGE_TWOLAME is not set
# BR2_PACKAGE_UDPXY is not set

#
# upmpdcli needs a toolchain w/ C++, threads, gcc >= 4.9
#
# BR2_PACKAGE_V4L2GRAB is not set

#
# v4l2loopback needs a Linux kernel to be built
#
# BR2_PACKAGE_VLC is not set
# BR2_PACKAGE_VORBIS_TOOLS is not set
# BR2_PACKAGE_WAVPACK is not set
# BR2_PACKAGE_YAVTA is not set
# BR2_PACKAGE_YMPD is not set

#
# Compressors and decompressors
#
# BR2_PACKAGE_BZIP2 is not set
# BR2_PACKAGE_LZ4 is not set
# BR2_PACKAGE_LZIP is not set
# BR2_PACKAGE_LZOP is not set
BR2_PACKAGE_P7ZIP=y
# BR2_PACKAGE_PIXZ is not set
# BR2_PACKAGE_UNRAR is not set
# BR2_PACKAGE_XZ is not set
# BR2_PACKAGE_ZIP is not set
# BR2_PACKAGE_ZSTD is not set

#
# Debugging, profiling and benchmark
#
# BR2_PACKAGE_BLKTRACE is not set
# BR2_PACKAGE_BONNIE is not set
# BR2_PACKAGE_CACHE_CALIBRATOR is not set
# BR2_PACKAGE_DHRYSTONE is not set
# BR2_PACKAGE_DIEHARDER is not set
# BR2_PACKAGE_DMALLOC is not set
# BR2_PACKAGE_DROPWATCH is not set
# BR2_PACKAGE_DSTAT is not set
# BR2_PACKAGE_DT is not set
# BR2_PACKAGE_DUMA is not set
# BR2_PACKAGE_FIO is not set
BR2_PACKAGE_GDB_ARCH_SUPPORTS=y
# BR2_PACKAGE_GDB is not set
BR2_PACKAGE_GOOGLE_BREAKPAD_ARCH_SUPPORTS=y
# BR2_PACKAGE_GOOGLE_BREAKPAD is not set
# BR2_PACKAGE_IOZONE is not set
# BR2_PACKAGE_KEXEC is not set

#
# ktap needs a Linux kernel to be built
#
# BR2_PACKAGE_LATENCYTOP is not set
# BR2_PACKAGE_LMBENCH is not set
BR2_PACKAGE_LTP_TESTSUITE_ARCH_SUPPORTS=y
# BR2_PACKAGE_LTP_TESTSUITE is not set
# BR2_PACKAGE_LTRACE is not set
# BR2_PACKAGE_LTTNG_BABELTRACE is not set

#
# lttng-modules needs a Linux kernel to be built
#
# BR2_PACKAGE_LTTNG_TOOLS is not set
# BR2_PACKAGE_MEMSTAT is not set
# BR2_PACKAGE_NETPERF is not set
# BR2_PACKAGE_NETSNIFF_NG is not set
# BR2_PACKAGE_NMON is not set
BR2_PACKAGE_OPROFILE_ARCH_SUPPORTS=y
# BR2_PACKAGE_OPROFILE is not set
# BR2_PACKAGE_PAX_UTILS is not set
# BR2_PACKAGE_PV is not set
# BR2_PACKAGE_RAMSMP is not set
# BR2_PACKAGE_RAMSPEED is not set

#
# rt-tests needs a uClibc or glibc toolchain w/ NPTL, headers >= 3.14, dynamic library
#
# BR2_PACKAGE_SPIDEV_TEST is not set
# BR2_PACKAGE_STRACE is not set
# BR2_PACKAGE_STRESS is not set
# BR2_PACKAGE_STRESS_NG is not set

#
# sysdig needs a toolchain w/ C++, gcc >= 4.7, dynamic library and a Linux kernel to be built
#
# BR2_PACKAGE_TINYMEMBENCH is not set
# BR2_PACKAGE_TRACE_CMD is not set
BR2_PACKAGE_TRINITY_ARCH_SUPPORTS=y
# BR2_PACKAGE_TRINITY is not set
# BR2_PACKAGE_UCLIBC_NG_TEST is not set
# BR2_PACKAGE_WHETSTONE is not set

#
# Development tools
#
# BR2_PACKAGE_BINUTILS is not set
# BR2_PACKAGE_BSDIFF is not set
# BR2_PACKAGE_CHECK is not set
BR2_PACKAGE_CMAKE_ARCH_SUPPORTS=y
# BR2_PACKAGE_CMAKE_CTEST is not set
# BR2_PACKAGE_CPPUNIT is not set
# BR2_PACKAGE_CVS is not set
# BR2_PACKAGE_CXXTEST is not set
# BR2_PACKAGE_FLEX is not set
# BR2_PACKAGE_GETTEXT is not set
# BR2_PACKAGE_GIT is not set
# BR2_PACKAGE_GIT_CRYPT is not set
# BR2_PACKAGE_GPERF is not set
# BR2_PACKAGE_JO is not set
# BR2_PACKAGE_JQ is not set
# BR2_PACKAGE_LIBTOOL is not set
# BR2_PACKAGE_MAKE is not set
# BR2_PACKAGE_PKGCONF is not set
# BR2_PACKAGE_SUBVERSION is not set
# BR2_PACKAGE_TREE is not set

#
# Filesystem and flash utilities
#

#
# aufs-util needs a linux kernel and a toolchain w/ threads
#
# BR2_PACKAGE_AUTOFS is not set
# BR2_PACKAGE_BTRFS_PROGS is not set
# BR2_PACKAGE_CIFS_UTILS is not set
# BR2_PACKAGE_CPIO is not set
# BR2_PACKAGE_CRAMFS is not set
# BR2_PACKAGE_CURLFTPFS is not set
# BR2_PACKAGE_DOSFSTOOLS is not set
# BR2_PACKAGE_E2FSPROGS is not set
# BR2_PACKAGE_E2TOOLS is not set
# BR2_PACKAGE_ECRYPTFS_UTILS is not set
# BR2_PACKAGE_EXFAT is not set
# BR2_PACKAGE_EXFAT_UTILS is not set
# BR2_PACKAGE_F2FS_TOOLS is not set
# BR2_PACKAGE_FLASHBENCH is not set
# BR2_PACKAGE_FWUP is not set
# BR2_PACKAGE_GENEXT2FS is not set
# BR2_PACKAGE_GENPART is not set
# BR2_PACKAGE_GENROMFS is not set
# BR2_PACKAGE_MMC_UTILS is not set
# BR2_PACKAGE_MTD is not set
# BR2_PACKAGE_MTOOLS is not set
# BR2_PACKAGE_NFS_UTILS is not set
# BR2_PACKAGE_NTFS_3G is not set
# BR2_PACKAGE_SP_OOPS_EXTRACT is not set
# BR2_PACKAGE_SQUASHFS is not set
# BR2_PACKAGE_SSHFS is not set
# BR2_PACKAGE_SUNXI_TOOLS is not set
# BR2_PACKAGE_UNIONFS is not set
# BR2_PACKAGE_XFSPROGS is not set

#
# Fonts, cursors, icons, sounds and themes
#

#
# Cursors
#
# BR2_PACKAGE_COMIX_CURSORS is not set
# BR2_PACKAGE_OBSIDIAN_CURSORS is not set

#
# Fonts
#
# BR2_PACKAGE_BITSTREAM_VERA is not set
# BR2_PACKAGE_CANTARELL is not set
# BR2_PACKAGE_DEJAVU is not set
# BR2_PACKAGE_FONT_AWESOME is not set
# BR2_PACKAGE_GHOSTSCRIPT_FONTS is not set
# BR2_PACKAGE_INCONSOLATA is not set
BR2_PACKAGE_LIBERATION=y
BR2_PACKAGE_LIBERATION_MONO=y
BR2_PACKAGE_LIBERATION_SANS=y
BR2_PACKAGE_LIBERATION_SERIF=y

#
# Icons
#
# BR2_PACKAGE_GOOGLE_MATERIAL_DESIGN_ICONS is not set
# BR2_PACKAGE_HICOLOR_ICON_THEME is not set

#
# Sounds
#
# BR2_PACKAGE_SOUND_THEME_BOREALIS is not set
# BR2_PACKAGE_SOUND_THEME_FREEDESKTOP is not set

#
# Themes
#

#
# Games
#
# BR2_PACKAGE_CHOCOLATE_DOOM is not set
# BR2_PACKAGE_GNUCHESS is not set
# BR2_PACKAGE_LBREAKOUT2 is not set
# BR2_PACKAGE_LTRIS is not set
# BR2_PACKAGE_OPENTYRIAN is not set
# BR2_PACKAGE_PRBOOM is not set
# BR2_PACKAGE_SL is not set
# BR2_PACKAGE_STELLA is not set

#
# Graphic libraries and applications (graphic/text)
#

#
# Graphic applications
#
# BR2_PACKAGE_FSWEBCAM is not set
# BR2_PACKAGE_GHOSTSCRIPT is not set

#
# glmark2 needs a toolchain w/ C++, gcc >= 4.9
#
# BR2_PACKAGE_GNUPLOT is not set
# BR2_PACKAGE_JHEAD is not set
# BR2_PACKAGE_LIBVA_UTILS is not set
# BR2_PACKAGE_PNGQUANT is not set

#
# qt5cinex needs an Open(E)GL-capable backend
#
# BR2_PACKAGE_RRDTOOL is not set
# BR2_PACKAGE_TESSERACT_OCR is not set

#
# Graphic libraries
#
# BR2_PACKAGE_CEGUI06 is not set
BR2_PACKAGE_DIRECTFB=y

#
# directfb multi application needs a Linux kernel to be built
#
BR2_PACKAGE_DIRECTFB_DEBUG_SUPPORT=y
# BR2_PACKAGE_DIRECTFB_DEBUG is not set
# BR2_PACKAGE_DIRECTFB_TRACE is not set
# BR2_PACKAGE_DIRECTFB_DIVINE is not set
# BR2_PACKAGE_DIRECTFB_SAWMAN is not set
# BR2_PACKAGE_DIRECTFB_PXA3XX is not set
# BR2_PACKAGE_DIRECTFB_EP9X is not set
BR2_PACKAGE_DIRECTFB_LINUXINPUT=y
BR2_PACKAGE_DIRECTFB_KEYBOARD=y
BR2_PACKAGE_DIRECTFB_PS2MOUSE=y
BR2_PACKAGE_DIRECTFB_SERIALMOUSE=y
BR2_PACKAGE_DIRECTFB_TSLIB=y
BR2_PACKAGE_DIRECTFB_GIF=y
# BR2_PACKAGE_DIRECTFB_TIFF is not set
# BR2_PACKAGE_DIRECTFB_IMLIB2 is not set
BR2_PACKAGE_DIRECTFB_JPEG=y
BR2_PACKAGE_DIRECTFB_PNG=y
BR2_PACKAGE_DIRECTFB_SVG=y
# BR2_PACKAGE_DIRECTFB_DITHER_RGB16 is not set
# BR2_PACKAGE_DIRECTFB_TESTS is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES is not set
# BR2_PACKAGE_EFL is not set
# BR2_PACKAGE_FBDUMP is not set
# BR2_PACKAGE_FBGRAB is not set
BR2_PACKAGE_FB_TEST_APP=y
# BR2_PACKAGE_FBTERM is not set
# BR2_PACKAGE_FBV is not set
# BR2_PACKAGE_FREERDP is not set
# BR2_PACKAGE_IMAGEMAGICK is not set

#
# linux-fusion needs a Linux kernel to be built
#
# BR2_PACKAGE_LITE is not set
# BR2_PACKAGE_MESA3D is not set
# BR2_PACKAGE_OCRAD is not set
# BR2_PACKAGE_PSPLASH is not set
BR2_PACKAGE_SDL=y
BR2_PACKAGE_SDL_FBCON=y
BR2_PACKAGE_SDL_DIRECTFB=y
BR2_PACKAGE_SDL_GFX=y
# BR2_PACKAGE_SDL_IMAGE is not set
# BR2_PACKAGE_SDL_MIXER is not set
# BR2_PACKAGE_SDL_NET is not set
# BR2_PACKAGE_SDL_SOUND is not set
# BR2_PACKAGE_SDL_TTF is not set
# BR2_PACKAGE_SDL2 is not set

#
# Other GUIs
#
# BR2_PACKAGE_QT is not set
BR2_PACKAGE_QT5_JSCORE_AVAILABLE=y
BR2_PACKAGE_QT5=y
BR2_PACKAGE_QT5_VERSION_LATEST=y
# BR2_PACKAGE_QT5_VERSION_5_6 is not set

#
# qt53d module needs an OpenGL-capable backend
#
BR2_PACKAGE_QT5BASE=y
BR2_PACKAGE_QT5BASE_CUSTOM_CONF_OPTS=""
BR2_PACKAGE_QT5BASE_CONFIG_FILE=""
# BR2_PACKAGE_QT5BASE_EXAMPLES is not set
BR2_PACKAGE_QT5BASE_NETWORK=y
# BR2_PACKAGE_QT5BASE_CONCURRENT is not set
BR2_PACKAGE_QT5BASE_SQL=y
# BR2_PACKAGE_QT5BASE_MYSQL is not set
# BR2_PACKAGE_QT5BASE_PSQL is not set
BR2_PACKAGE_QT5BASE_SQLITE_NONE=y
# BR2_PACKAGE_QT5BASE_SQLITE_QT is not set
# BR2_PACKAGE_QT5BASE_SQLITE_SYSTEM is not set
BR2_PACKAGE_QT5BASE_TEST=y
BR2_PACKAGE_QT5BASE_XML=y
BR2_PACKAGE_QT5BASE_GUI=y
BR2_PACKAGE_QT5BASE_WIDGETS=y

#
# OpenGL support needs an OpenGL-capable backend
#
BR2_PACKAGE_QT5BASE_LINUXFB=y
# BR2_PACKAGE_QT5BASE_DIRECTFB is not set

#
# X.org XCB backend available if X.org is enabled
#

#
# eglfs backend available if OpenGL and EGL are enabled
#
BR2_PACKAGE_QT5BASE_DEFAULT_QPA=""
BR2_PACKAGE_QT5BASE_PRINTSUPPORT=y
# BR2_PACKAGE_QT5BASE_FONTCONFIG is not set
# BR2_PACKAGE_QT5BASE_GIF is not set
# BR2_PACKAGE_QT5BASE_JPEG is not set
# BR2_PACKAGE_QT5BASE_PNG is not set
# BR2_PACKAGE_QT5BASE_DBUS is not set
# BR2_PACKAGE_QT5BASE_ICU is not set
BR2_PACKAGE_QT5BASE_TSLIB=y

#
# qt5canvas3d needs an OpenGL-capable backend
#

#
# qt5connectivity needs neard and/or bluez(5)_utils
#
# BR2_PACKAGE_QT5DECLARATIVE is not set
# BR2_PACKAGE_QT5ENGINIO is not set

#
# qt5graphicaleffects needs an OpenGL-capable backend
#
# BR2_PACKAGE_QT5IMAGEFORMATS is not set
# BR2_PACKAGE_QT5LOCATION is not set
# BR2_PACKAGE_QT5MULTIMEDIA is not set

#
# qt5quickcontrols needs an OpenGL-capable backend
#

#
# qt5quickcontrols2 needs an OpenGL-capable backend
#
# BR2_PACKAGE_QT5SCRIPT is not set
# BR2_PACKAGE_QT5SENSORS is not set
# BR2_PACKAGE_QT5SERIALBUS is not set
# BR2_PACKAGE_QT5SERIALPORT is not set
# BR2_PACKAGE_QT5SVG is not set
# BR2_PACKAGE_QT5TOOLS is not set

#
# qt5virtualkeyboard needs at least qt-5.7 and an OpenGL backend
#
# BR2_PACKAGE_QT5WEBCHANNEL is not set
# BR2_PACKAGE_QT5WEBKIT is not set
# BR2_PACKAGE_QT5WEBSOCKETS is not set
# BR2_PACKAGE_QT5XMLPATTERNS is not set

#
# QT libraries and helper libraries
#
# BR2_PACKAGE_GRANTLEE is not set
# BR2_PACKAGE_QEXTSERIALPORT is not set
# BR2_PACKAGE_QJSON is not set
# BR2_PACKAGE_QUAZIP is not set
# BR2_PACKAGE_QWT is not set

#
# tekui needs a Lua interpreter and a toolchain w/ threads, dynamic library
#

#
# weston needs udev and a toolchain w/ locale, threads, dynamic library, headers >= 3.0
#
# BR2_PACKAGE_XORG7 is not set

#
# midori needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8
#
# BR2_PACKAGE_QT_WEBKIT_KIOSK is not set
# BR2_PACKAGE_XKEYBOARD_CONFIG is not set

#
# Hardware handling
#

#
# Firmware
#
# BR2_PACKAGE_AM33X_CM3 is not set
# BR2_PACKAGE_B43_FIRMWARE is not set
# BR2_PACKAGE_LINUX_FIRMWARE is not set
# BR2_PACKAGE_RPI_BT_FIRMWARE is not set
# BR2_PACKAGE_RPI_FIRMWARE is not set
# BR2_PACKAGE_RPI_WIFI_FIRMWARE is not set
# BR2_PACKAGE_SUNXI_BOARDS is not set
# BR2_PACKAGE_TS4900_FPGA is not set
# BR2_PACKAGE_UX500_FIRMWARE is not set
# BR2_PACKAGE_WILC1000_FIRMWARE is not set
# BR2_PACKAGE_WILINK_BT_FIRMWARE is not set
# BR2_PACKAGE_ZD1211_FIRMWARE is not set

#
# a10disp needs a Linux kernel to be built
#
# BR2_PACKAGE_ACPICA is not set
# BR2_PACKAGE_ACPITOOL is not set
# BR2_PACKAGE_AER_INJECT is not set
# BR2_PACKAGE_AM335X_PRU_PACKAGE is not set
# BR2_PACKAGE_AVRDUDE is not set

#
# bcache-tools needs udev /dev management
#
# BR2_PACKAGE_CBOOTIMAGE is not set
# BR2_PACKAGE_CC_TOOL is not set
# BR2_PACKAGE_CDRKIT is not set
# BR2_PACKAGE_CRYPTSETUP is not set
# BR2_PACKAGE_CWIID is not set
# BR2_PACKAGE_DBUS is not set
# BR2_PACKAGE_DMRAID is not set

#
# dt-utils needs udev /dev management
#
# BR2_PACKAGE_DTV_SCAN_TABLES is not set
# BR2_PACKAGE_DVB_APPS is not set
# BR2_PACKAGE_DVBSNOOP is not set
# BR2_PACKAGE_EDID_DECODE is not set
# BR2_PACKAGE_EEPROG is not set

#
# eudev needs eudev /dev management
#
# BR2_PACKAGE_EVEMU is not set
# BR2_PACKAGE_EVTEST is not set
# BR2_PACKAGE_FAN_CTRL is not set
# BR2_PACKAGE_FCONFIG is not set
# BR2_PACKAGE_FIS is not set
# BR2_PACKAGE_FMTOOLS is not set
# BR2_PACKAGE_FREESCALE_IMX is not set
# BR2_PACKAGE_FXLOAD is not set
# BR2_PACKAGE_GADGETFS_TEST is not set
# BR2_PACKAGE_GPM is not set
# BR2_PACKAGE_GPSD is not set
# BR2_PACKAGE_GPTFDISK is not set
# BR2_PACKAGE_GVFS is not set
# BR2_PACKAGE_HWDATA is not set
# BR2_PACKAGE_HWLOC is not set
# BR2_PACKAGE_INPUT_EVENT_DAEMON is not set
# BR2_PACKAGE_IOSTAT is not set
# BR2_PACKAGE_IPMITOOL is not set

#
# iqvlinux needs a Linux kernel to be built
#
# BR2_PACKAGE_IRDA_UTILS is not set
# BR2_PACKAGE_KBD is not set
# BR2_PACKAGE_LCDPROC is not set
# BR2_PACKAGE_LIBUIO is not set
# BR2_PACKAGE_LIBUMP is not set
# BR2_PACKAGE_LINUXCONSOLETOOLS is not set

#
# linux-backports needs a Linux kernel to be built
#
# BR2_PACKAGE_LIRC_TOOLS is not set
# BR2_PACKAGE_LM_SENSORS is not set
# BR2_PACKAGE_LSHW is not set
# BR2_PACKAGE_LSSCSI is not set
# BR2_PACKAGE_LSUIO is not set
# BR2_PACKAGE_LVM2 is not set

#
# mali-t76x needs a glibc toolchain with armhf enabled
#
# BR2_PACKAGE_MDADM is not set
# BR2_PACKAGE_MEMTESTER is not set
# BR2_PACKAGE_MEMTOOL is not set
# BR2_PACKAGE_MINICOM is not set
# BR2_PACKAGE_NANOCOM is not set
# BR2_PACKAGE_NEARD is not set
# BR2_PACKAGE_NVME is not set
# BR2_PACKAGE_ODROID_SCRIPTS is not set
# BR2_PACKAGE_OFONO is not set

#
# on2-8170-modules needs a Linux kernel to be built
#
# BR2_PACKAGE_OPEN2300 is not set
# BR2_PACKAGE_OPENIPMI is not set
# BR2_PACKAGE_OPENOCD is not set

#
# owl-linux needs a Linux kernel to be built
#
# BR2_PACKAGE_PARTED is not set
# BR2_PACKAGE_PCIUTILS is not set
# BR2_PACKAGE_PDBG is not set
# BR2_PACKAGE_PICOCOM is not set
# BR2_PACKAGE_PIFMRDS is not set
# BR2_PACKAGE_POWERTOP is not set
# BR2_PACKAGE_PPS_TOOLS is not set
# BR2_PACKAGE_PRU_SOFTWARE_SUPPORT is not set
# BR2_PACKAGE_PULSEVIEW is not set
# BR2_PACKAGE_READ_EDID is not set
# BR2_PACKAGE_RFKILL is not set
# BR2_PACKAGE_RNG_TOOLS is not set
# BR2_PACKAGE_RPI_USERLAND is not set
# BR2_PACKAGE_RS485CONF is not set

#
# rtl8188eu needs a Linux kernel to be built
#

#
# rtl8723bs needs a Linux kernel to be built
#

#
# rtl8821au needs a Linux kernel to be built
#
# BR2_PACKAGE_SANE_BACKENDS is not set
# BR2_PACKAGE_SDPARM is not set
# BR2_PACKAGE_SETSERIAL is not set
# BR2_PACKAGE_SG3_UTILS is not set
# BR2_PACKAGE_SIGROK_CLI is not set
# BR2_PACKAGE_SISPMCTL is not set
# BR2_PACKAGE_SMARTMONTOOLS is not set
# BR2_PACKAGE_SMSTOOLS3 is not set
# BR2_PACKAGE_SPI_TOOLS is not set
# BR2_PACKAGE_SREDIRD is not set
# BR2_PACKAGE_STATSERIAL is not set
# BR2_PACKAGE_STM32FLASH is not set
# BR2_PACKAGE_SUNXI_CEDARX is not set

#
# sunxi-mali needs an EABIhf glibc toolchain
#
# BR2_PACKAGE_SYSSTAT is not set

#
# targetcli-fb depends on Python
#

#
# ti-gfx needs a glibc toolchain and a Linux kernel to be built
#

#
# ti-sgx-km needs a Linux kernel to be built
#

#
# ti-sgx-um needs the ti-sgx-km driver
#
# BR2_PACKAGE_TI_UIM is not set
# BR2_PACKAGE_TI_UTILS is not set
# BR2_PACKAGE_TRIGGERHAPPY is not set
# BR2_PACKAGE_UBOOT_TOOLS is not set
# BR2_PACKAGE_UBUS is not set

#
# uccp420wlan needs a Linux kernel >= 4.2 to be built
#

#
# udisks needs udev /dev management
#

#
# upower needs udev /dev management
#
# BR2_PACKAGE_USB_MODESWITCH is not set
# BR2_PACKAGE_USB_MODESWITCH_DATA is not set

#
# usbmount requires udev to be enabled
#

#
# usbutils needs udev /dev management and toolchain w/ threads
#
# BR2_PACKAGE_W_SCAN is not set
# BR2_PACKAGE_WIPE is not set
# BR2_PACKAGE_XORRISO is not set

#
# xr819-xradio driver needs a Linux kernel to be built
#

#
# Interpreter languages and scripting
#
# BR2_PACKAGE_4TH is not set
# BR2_PACKAGE_ENSCRIPT is not set
BR2_PACKAGE_ERLANG_ARCH_SUPPORTS=y
# BR2_PACKAGE_ERLANG is not set
# BR2_PACKAGE_EXECLINE is not set
# BR2_PACKAGE_FICL is not set
BR2_PACKAGE_GAUCHE_ARCH_SUPPORTS=y
# BR2_PACKAGE_GAUCHE is not set
# BR2_PACKAGE_GUILE is not set
# BR2_PACKAGE_HASERL is not set
# BR2_PACKAGE_JAMVM is not set
# BR2_PACKAGE_JIMTCL is not set
# BR2_PACKAGE_LUA is not set
BR2_PACKAGE_LUAJIT_ARCH_SUPPORTS=y
# BR2_PACKAGE_LUAJIT is not set
# BR2_PACKAGE_MICROPYTHON is not set
# BR2_PACKAGE_MOARVM is not set
BR2_PACKAGE_MONO_ARCH_SUPPORTS=y
# BR2_PACKAGE_MONO is not set
# BR2_PACKAGE_PERL is not set
# BR2_PACKAGE_PHP is not set
# BR2_PACKAGE_PYTHON is not set
# BR2_PACKAGE_PYTHON3 is not set
# BR2_PACKAGE_RUBY is not set
# BR2_PACKAGE_TCL is not set

#
# Libraries
#

#
# Audio/Sound
#
BR2_PACKAGE_ALSA_LIB=y
BR2_PACKAGE_ALSA_LIB_DEVDIR="/dev/snd"
BR2_PACKAGE_ALSA_LIB_PCM_PLUGINS="all"
BR2_PACKAGE_ALSA_LIB_CTL_PLUGINS="all"
BR2_PACKAGE_ALSA_LIB_ALOAD=y
BR2_PACKAGE_ALSA_LIB_MIXER=y
BR2_PACKAGE_ALSA_LIB_PCM=y
BR2_PACKAGE_ALSA_LIB_RAWMIDI=y
BR2_PACKAGE_ALSA_LIB_HWDEP=y
BR2_PACKAGE_ALSA_LIB_SEQ=y
BR2_PACKAGE_ALSA_LIB_ALISP=y
BR2_PACKAGE_ALSA_LIB_OLD_SYMBOLS=y
# BR2_PACKAGE_AUBIO is not set
# BR2_PACKAGE_AUDIOFILE is not set
# BR2_PACKAGE_CELT051 is not set
BR2_PACKAGE_FDK_AAC_ARCH_SUPPORTS=y
# BR2_PACKAGE_FDK_AAC is not set
# BR2_PACKAGE_LIBAO is not set
# BR2_PACKAGE_LIBASPLIB is not set
# BR2_PACKAGE_LIBBROADVOICE is not set
# BR2_PACKAGE_LIBCDAUDIO is not set
# BR2_PACKAGE_LIBCDDB is not set
# BR2_PACKAGE_LIBCDIO is not set
# BR2_PACKAGE_LIBCODEC2 is not set
# BR2_PACKAGE_LIBCUE is not set
# BR2_PACKAGE_LIBCUEFILE is not set
# BR2_PACKAGE_LIBEBUR128 is not set
# BR2_PACKAGE_LIBG7221 is not set
# BR2_PACKAGE_LIBGSM is not set
BR2_PACKAGE_LIBID3TAG=y
# BR2_PACKAGE_LIBILBC is not set
# BR2_PACKAGE_LIBLO is not set
BR2_PACKAGE_LIBMAD=y
BR2_PACKAGE_LIBMAD_OPTIMIZATION_DEFAULT=y
# BR2_PACKAGE_LIBMAD_OPTIMIZATION_SPEED is not set
# BR2_PACKAGE_LIBMAD_OPTIMIZATION_ACCURACY is not set
# BR2_PACKAGE_LIBMAD_SSO is not set
BR2_PACKAGE_LIBMAD_ASO=y
# BR2_PACKAGE_LIBMAD_STRICT_ISO is not set
# BR2_PACKAGE_LIBMODPLUG is not set
# BR2_PACKAGE_LIBMPD is not set
# BR2_PACKAGE_LIBMPDCLIENT is not set
# BR2_PACKAGE_LIBREPLAYGAIN is not set
# BR2_PACKAGE_LIBSAMPLERATE is not set
# BR2_PACKAGE_LIBSIDPLAY2 is not set
# BR2_PACKAGE_LIBSILK is not set
# BR2_PACKAGE_LIBSNDFILE is not set
# BR2_PACKAGE_LIBSOUNDTOUCH is not set
# BR2_PACKAGE_LIBSOXR is not set
# BR2_PACKAGE_LIBVORBIS is not set
# BR2_PACKAGE_MP4V2 is not set
BR2_PACKAGE_OPENAL_ARCH_SUPPORTS=y
# BR2_PACKAGE_OPENAL is not set
# BR2_PACKAGE_OPENCORE_AMR is not set
# BR2_PACKAGE_OPUS is not set
# BR2_PACKAGE_OPUSFILE is not set
# BR2_PACKAGE_PORTAUDIO is not set
# BR2_PACKAGE_SBC is not set
# BR2_PACKAGE_SPEEX is not set
# BR2_PACKAGE_TAGLIB is not set
BR2_PACKAGE_TINYALSA=y
# BR2_PACKAGE_TREMOR is not set
# BR2_PACKAGE_VO_AACENC is not set
BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING_ARCH_SUPPORTS=y
# BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING is not set

#
# Compression and decompression
#
# BR2_PACKAGE_LIBARCHIVE is not set
# BR2_PACKAGE_LIBSQUISH is not set
# BR2_PACKAGE_LIBZIP is not set
# BR2_PACKAGE_LZO is not set
# BR2_PACKAGE_MINIZIP is not set
# BR2_PACKAGE_SNAPPY is not set
# BR2_PACKAGE_SZIP is not set
BR2_PACKAGE_ZLIB=y

#
# Crypto
#
# BR2_PACKAGE_BEECRYPT is not set
BR2_PACKAGE_BOTAN_ARCH_SUPPORTS=y
# BR2_PACKAGE_BOTAN is not set
# BR2_PACKAGE_CA_CERTIFICATES is not set

#
# cryptodev needs a Linux kernel to be built
#
# BR2_PACKAGE_GCR is not set
# BR2_PACKAGE_GNUTLS is not set
# BR2_PACKAGE_LIBASSUAN is not set
# BR2_PACKAGE_LIBGCRYPT is not set
BR2_PACKAGE_LIBGPG_ERROR_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBGPG_ERROR is not set
BR2_PACKAGE_LIBGPG_ERROR_SYSCFG="arm-unknown-linux-gnueabi"
# BR2_PACKAGE_LIBGPGME is not set
# BR2_PACKAGE_LIBKCAPI is not set
# BR2_PACKAGE_LIBKSBA is not set
# BR2_PACKAGE_LIBMCRYPT is not set
# BR2_PACKAGE_LIBMHASH is not set
# BR2_PACKAGE_LIBNSS is not set
# BR2_PACKAGE_LIBSCRYPT is not set
# BR2_PACKAGE_LIBSECRET is not set
# BR2_PACKAGE_LIBSHA1 is not set
# BR2_PACKAGE_LIBSODIUM is not set
# BR2_PACKAGE_LIBSSH is not set
# BR2_PACKAGE_LIBSSH2 is not set
# BR2_PACKAGE_LIBTOMCRYPT is not set
# BR2_PACKAGE_LIBUECC is not set
# BR2_PACKAGE_MBEDTLS is not set
# BR2_PACKAGE_NETTLE is not set
BR2_PACKAGE_OPENSSL=y
# BR2_PACKAGE_OPENSSL_BIN is not set
# BR2_PACKAGE_OPENSSL_ENGINES is not set
# BR2_PACKAGE_RHASH is not set
# BR2_PACKAGE_TINYDTLS is not set
# BR2_PACKAGE_TROUSERS is not set
# BR2_PACKAGE_USTREAM_SSL is not set

#
# Database
#
# BR2_PACKAGE_BERKELEYDB is not set
# BR2_PACKAGE_GDBM is not set
# BR2_PACKAGE_HIREDIS is not set
# BR2_PACKAGE_KOMPEXSQLITE is not set
# BR2_PACKAGE_LEVELDB is not set
# BR2_PACKAGE_MYSQL is not set
# BR2_PACKAGE_POSTGRESQL is not set
# BR2_PACKAGE_REDIS is not set
# BR2_PACKAGE_SQLCIPHER is not set
# BR2_PACKAGE_SQLITE is not set
# BR2_PACKAGE_UNIXODBC is not set

#
# Filesystem
#
# BR2_PACKAGE_GAMIN is not set
# BR2_PACKAGE_LIBCONFIG is not set
# BR2_PACKAGE_LIBCONFUSE is not set
# BR2_PACKAGE_LIBFUSE is not set
# BR2_PACKAGE_LIBLOCKFILE is not set
# BR2_PACKAGE_LIBNFS is not set
# BR2_PACKAGE_LIBSYSFS is not set
# BR2_PACKAGE_LOCKDEV is not set
# BR2_PACKAGE_PHYSFS is not set

#
# Graphics
#
# BR2_PACKAGE_ASSIMP is not set
# BR2_PACKAGE_ATK is not set
# BR2_PACKAGE_ATKMM is not set
# BR2_PACKAGE_BULLET is not set
BR2_PACKAGE_CAIRO=y
BR2_PACKAGE_CAIRO_PS=y
BR2_PACKAGE_CAIRO_PDF=y
BR2_PACKAGE_CAIRO_PNG=y
BR2_PACKAGE_CAIRO_SCRIPT=y
BR2_PACKAGE_CAIRO_SVG=y
BR2_PACKAGE_CAIRO_TEE=y
BR2_PACKAGE_CAIRO_XML=y
# BR2_PACKAGE_CAIROMM is not set
# BR2_PACKAGE_EXIV2 is not set
BR2_PACKAGE_FONTCONFIG=y
BR2_PACKAGE_FREETYPE=y
# BR2_PACKAGE_GD is not set
# BR2_PACKAGE_GDK_PIXBUF is not set
BR2_PACKAGE_GIFLIB=y

#
# granite needs libgtk3 and a toolchain w/ wchar, threads
#
# BR2_PACKAGE_GRAPHITE2 is not set

#
# gtkmm3 needs libgtk3 and a toolchain w/ C++, wchar, threads, gcc >= 4.8
#
# BR2_PACKAGE_HARFBUZZ is not set
# BR2_PACKAGE_IJS is not set

#
# irrlicht needs X11 and an OpenGL provider
#
# BR2_PACKAGE_IMLIB2 is not set
# BR2_PACKAGE_JASPER is not set
BR2_PACKAGE_JPEG=y
BR2_PACKAGE_LIBJPEG=y
# BR2_PACKAGE_JPEG_TURBO is not set
BR2_PACKAGE_HAS_JPEG=y
BR2_PACKAGE_PROVIDES_JPEG="libjpeg"
# BR2_PACKAGE_KMSXX is not set
# BR2_PACKAGE_LCMS2 is not set
# BR2_PACKAGE_LENSFUN is not set
# BR2_PACKAGE_LEPTONICA is not set
# BR2_PACKAGE_LIBART is not set
# BR2_PACKAGE_LIBDMTX is not set
# BR2_PACKAGE_LIBDRM is not set

#
# libepoxy needs an OpenGL and/or OpenGL EGL backend
#
# BR2_PACKAGE_LIBEXIF is not set

#
# libfm needs X.org and a toolchain w/ wchar, threads, C++
#
# BR2_PACKAGE_LIBFM_EXTRA is not set

#
# libfreeglut depends on X.org and needs an OpenGL backend
#
# BR2_PACKAGE_LIBFREEIMAGE is not set
# BR2_PACKAGE_LIBGEOTIFF is not set

#
# libglew depends on X.org and needs an OpenGL backend
#

#
# libglfw depends on X.org and needs an OpenGL backend
#

#
# libglu needs an OpenGL backend
#

#
# libgtk3 needs an OpenGL or an OpenGL-EGL/wayland backend
#
# BR2_PACKAGE_LIBMEDIAART is not set
# BR2_PACKAGE_LIBMNG is not set
BR2_PACKAGE_LIBPNG=y
# BR2_PACKAGE_LIBQRENCODE is not set
# BR2_PACKAGE_LIBRAW is not set
# BR2_PACKAGE_LIBRSVG is not set

#
# libsoil needs an OpenGL backend and a toolchain w/ dynamic library
#
BR2_PACKAGE_LIBSVG=y
BR2_PACKAGE_LIBSVG_CAIRO=y
# BR2_PACKAGE_LIBSVGTINY is not set
# BR2_PACKAGE_LIBVA is not set
# BR2_PACKAGE_LIBVIPS is not set
# BR2_PACKAGE_MENU_CACHE is not set
# BR2_PACKAGE_OPENCV is not set
# BR2_PACKAGE_OPENCV3 is not set
# BR2_PACKAGE_OPENJPEG is not set
# BR2_PACKAGE_PANGO is not set
# BR2_PACKAGE_PANGOMM is not set
BR2_PACKAGE_PIXMAN=y
# BR2_PACKAGE_POPPLER is not set
BR2_PACKAGE_TIFF=y
BR2_PACKAGE_TIFF_CCITT=y
BR2_PACKAGE_TIFF_PACKBITS=y
BR2_PACKAGE_TIFF_LZW=y
BR2_PACKAGE_TIFF_THUNDER=y
BR2_PACKAGE_TIFF_NEXT=y
BR2_PACKAGE_TIFF_LOGLUV=y
BR2_PACKAGE_TIFF_MDI=y
BR2_PACKAGE_TIFF_ZLIB=y
# BR2_PACKAGE_TIFF_XZ is not set
BR2_PACKAGE_TIFF_PIXARLOG=y
BR2_PACKAGE_TIFF_JPEG=y
BR2_PACKAGE_TIFF_OLD_JPEG=y
BR2_PACKAGE_TIFF_JBIG=y
# BR2_PACKAGE_TIFF_UTILITIES is not set
# BR2_PACKAGE_WAYLAND is not set
BR2_PACKAGE_WEBKITGTK_ARCH_SUPPORTS=y

#
# webkitgtk needs libgtk3 and a glibc toolchain w/ C++, gcc >= 5, host gcc >= 4.8
#
BR2_PACKAGE_WEBP=y
# BR2_PACKAGE_WEBP_DEMUX is not set
BR2_PACKAGE_ZBAR=y
BR2_PACKAGE_ZXING_CPP=y

#
# Hardware handling
#
# BR2_PACKAGE_ACSCCID is not set
# BR2_PACKAGE_BCM2835 is not set
# BR2_PACKAGE_C_PERIPHERY is not set
# BR2_PACKAGE_CCID is not set
# BR2_PACKAGE_DTC is not set
# BR2_PACKAGE_GNU_EFI is not set

#
# hidapi needs udev /dev management and a toolchain w/ NPTL threads
#
# BR2_PACKAGE_LCDAPI is not set
# BR2_PACKAGE_LET_ME_CREATE is not set
BR2_PACKAGE_LIBAIO_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBAIO is not set

#
# libatasmart requires udev to be enabled
#
# BR2_PACKAGE_LIBCEC is not set
# BR2_PACKAGE_LIBFREEFARE is not set
# BR2_PACKAGE_LIBFTDI is not set
# BR2_PACKAGE_LIBFTDI1 is not set
# BR2_PACKAGE_LIBGPHOTO2 is not set

#
# libgpiod needs kernel headers >= 4.8
#

#
# libgudev needs udev /dev handling and a toolchain w/ wchar, threads
#
# BR2_PACKAGE_LIBHID is not set
# BR2_PACKAGE_LIBIIO is not set

#
# libinput needs udev /dev management and a toolchain w/ locale
#
# BR2_PACKAGE_LIBIQRF is not set
# BR2_PACKAGE_LIBLLCP is not set

#
# libmbim needs udev /dev management and a toolchain w/ wchar, threads
#
# BR2_PACKAGE_LIBNFC is not set
# BR2_PACKAGE_LIBPCIACCESS is not set
# BR2_PACKAGE_LIBPHIDGET is not set
# BR2_PACKAGE_LIBQMI is not set
# BR2_PACKAGE_LIBRAW1394 is not set
# BR2_PACKAGE_LIBRTLSDR is not set
# BR2_PACKAGE_LIBSERIAL is not set
# BR2_PACKAGE_LIBSERIALPORT is not set
# BR2_PACKAGE_LIBSIGROK is not set
# BR2_PACKAGE_LIBSIGROKDECODE is not set
# BR2_PACKAGE_LIBSOC is not set
# BR2_PACKAGE_LIBUSB is not set
# BR2_PACKAGE_LIBUSBGX is not set
BR2_PACKAGE_LIBV4L=y
# BR2_PACKAGE_LIBV4L_UTILS is not set
# BR2_PACKAGE_LIBXKBCOMMON is not set
# BR2_PACKAGE_MRAA is not set
# BR2_PACKAGE_MTDEV is not set

#
# ne10 needs a toolchain w/ neon
#
# BR2_PACKAGE_NEARDAL is not set
# BR2_PACKAGE_OWFS is not set
# BR2_PACKAGE_PCSC_LITE is not set
BR2_PACKAGE_TSLIB=y
# BR2_PACKAGE_URG is not set
# BR2_PACKAGE_WIRINGPI is not set

#
# Javascript
#
# BR2_PACKAGE_ANGULARJS is not set
# BR2_PACKAGE_BOOTSTRAP is not set
# BR2_PACKAGE_EXPLORERCANVAS is not set
# BR2_PACKAGE_FLOT is not set
# BR2_PACKAGE_JQUERY is not set
# BR2_PACKAGE_JSMIN is not set
# BR2_PACKAGE_JSON_JAVASCRIPT is not set

#
# JSON/XML
#
# BR2_PACKAGE_BENEJSON is not set
# BR2_PACKAGE_CJSON is not set
BR2_PACKAGE_EXPAT=y
# BR2_PACKAGE_EZXML is not set
# BR2_PACKAGE_JANSSON is not set
# BR2_PACKAGE_JSMN is not set
# BR2_PACKAGE_JSON_C is not set
# BR2_PACKAGE_JSON_GLIB is not set
# BR2_PACKAGE_JSONCPP is not set
# BR2_PACKAGE_LIBBSON is not set
# BR2_PACKAGE_LIBFASTJSON is not set
# BR2_PACKAGE_LIBJSON is not set
# BR2_PACKAGE_LIBROXML is not set
# BR2_PACKAGE_LIBUCL is not set
# BR2_PACKAGE_LIBXML2 is not set
# BR2_PACKAGE_LIBXMLPP is not set
# BR2_PACKAGE_LIBXMLRPC is not set
# BR2_PACKAGE_LIBXSLT is not set
# BR2_PACKAGE_LIBYAML is not set
# BR2_PACKAGE_MXML is not set
# BR2_PACKAGE_PUGIXML is not set
# BR2_PACKAGE_RAPIDJSON is not set
# BR2_PACKAGE_RAPIDXML is not set
# BR2_PACKAGE_RAPTOR is not set
# BR2_PACKAGE_TINYXML is not set
# BR2_PACKAGE_TINYXML2 is not set
# BR2_PACKAGE_VALIJSON is not set
# BR2_PACKAGE_XERCES is not set
# BR2_PACKAGE_YAJL is not set
# BR2_PACKAGE_YAML_CPP is not set

#
# Logging
#
# BR2_PACKAGE_EVENTLOG is not set
# BR2_PACKAGE_GLOG is not set
# BR2_PACKAGE_LIBLOG4C_LOCALTIME is not set
# BR2_PACKAGE_LIBLOGGING is not set
# BR2_PACKAGE_LOG4CPLUS is not set
# BR2_PACKAGE_LOG4CPP is not set
# BR2_PACKAGE_LOG4CXX is not set
# BR2_PACKAGE_ZLOG is not set

#
# Multimedia
#
# BR2_PACKAGE_BITSTREAM is not set
# BR2_PACKAGE_KVAZAAR is not set
# BR2_PACKAGE_LIBAACS is not set
# BR2_PACKAGE_LIBAMCODEC is not set
# BR2_PACKAGE_LIBASS is not set
# BR2_PACKAGE_LIBBDPLUS is not set
# BR2_PACKAGE_LIBBLURAY is not set
# BR2_PACKAGE_LIBDCADEC is not set
# BR2_PACKAGE_LIBDVBCSA is not set
# BR2_PACKAGE_LIBDVBPSI is not set
# BR2_PACKAGE_LIBDVBSI is not set
# BR2_PACKAGE_LIBDVDCSS is not set
# BR2_PACKAGE_LIBDVDNAV is not set
# BR2_PACKAGE_LIBDVDREAD is not set
# BR2_PACKAGE_LIBEBML is not set
# BR2_PACKAGE_LIBHDHOMERUN is not set

#
# libimxvpuapi needs an i.MX platform with VPU support
#
# BR2_PACKAGE_LIBMATROSKA is not set
# BR2_PACKAGE_LIBMMS is not set
# BR2_PACKAGE_LIBMPEG2 is not set
# BR2_PACKAGE_LIBOGG is not set
BR2_PACKAGE_LIBOPENH264_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBOPENH264 is not set
# BR2_PACKAGE_LIBPLAYER is not set
# BR2_PACKAGE_LIBTHEORA is not set
# BR2_PACKAGE_LIBVPX is not set
# BR2_PACKAGE_LIBYUV is not set
# BR2_PACKAGE_LIVE555 is not set
# BR2_PACKAGE_MEDIASTREAMER is not set
# BR2_PACKAGE_X264 is not set
# BR2_PACKAGE_X265 is not set

#
# Networking
#
# BR2_PACKAGE_AGENTPP is not set
# BR2_PACKAGE_ALLJOYN is not set
# BR2_PACKAGE_ALLJOYN_BASE is not set
# BR2_PACKAGE_ALLJOYN_TCL is not set
# BR2_PACKAGE_ALLJOYN_TCL_BASE is not set
# BR2_PACKAGE_AZURE_IOT_SDK_C is not set

#
# batman-adv needs a Linux kernel to be built
#
# BR2_PACKAGE_C_ARES is not set
BR2_PACKAGE_CANFESTIVAL_ARCH_SUPPORTS=y
# BR2_PACKAGE_CANFESTIVAL is not set
# BR2_PACKAGE_CGIC is not set
# BR2_PACKAGE_CPPZMQ is not set
# BR2_PACKAGE_CZMQ is not set
# BR2_PACKAGE_FILEMQ is not set
# BR2_PACKAGE_FLICKCURL is not set
# BR2_PACKAGE_FREERADIUS_CLIENT is not set
# BR2_PACKAGE_GEOIP is not set
# BR2_PACKAGE_GLIB_NETWORKING is not set
# BR2_PACKAGE_GSSDP is not set
# BR2_PACKAGE_GUPNP is not set
# BR2_PACKAGE_GUPNP_AV is not set
# BR2_PACKAGE_GUPNP_DLNA is not set
# BR2_PACKAGE_IBRCOMMON is not set
# BR2_PACKAGE_IBRDTN is not set
# BR2_PACKAGE_LIBCGI is not set
# BR2_PACKAGE_LIBCGICC is not set
# BR2_PACKAGE_LIBCOAP is not set
# BR2_PACKAGE_LIBCURL is not set
# BR2_PACKAGE_LIBDNET is not set
# BR2_PACKAGE_LIBEXOSIP2 is not set
# BR2_PACKAGE_LIBFCGI is not set
# BR2_PACKAGE_LIBGSASL is not set
# BR2_PACKAGE_LIBHTTPPARSER is not set
# BR2_PACKAGE_LIBIDN is not set
# BR2_PACKAGE_LIBISCSI is not set
# BR2_PACKAGE_LIBLDNS is not set
# BR2_PACKAGE_LIBMAXMINDDB is not set
# BR2_PACKAGE_LIBMBUS is not set
# BR2_PACKAGE_LIBMEMCACHED is not set
# BR2_PACKAGE_LIBMICROHTTPD is not set
# BR2_PACKAGE_LIBMINIUPNPC is not set
# BR2_PACKAGE_LIBMNL is not set
# BR2_PACKAGE_LIBMODBUS is not set
# BR2_PACKAGE_LIBNATPMP is not set
# BR2_PACKAGE_LIBNDP is not set
# BR2_PACKAGE_LIBNET is not set
# BR2_PACKAGE_LIBNETFILTER_ACCT is not set
# BR2_PACKAGE_LIBNETFILTER_CONNTRACK is not set
# BR2_PACKAGE_LIBNETFILTER_CTHELPER is not set
# BR2_PACKAGE_LIBNETFILTER_CTTIMEOUT is not set
# BR2_PACKAGE_LIBNETFILTER_LOG is not set
# BR2_PACKAGE_LIBNETFILTER_QUEUE is not set
# BR2_PACKAGE_LIBNFNETLINK is not set
# BR2_PACKAGE_LIBNFTNL is not set
# BR2_PACKAGE_LIBNICE is not set
BR2_PACKAGE_LIBNL=y
# BR2_PACKAGE_LIBNL_TOOLS is not set
# BR2_PACKAGE_LIBOAUTH is not set
# BR2_PACKAGE_LIBOPING is not set
# BR2_PACKAGE_LIBOSIP2 is not set
# BR2_PACKAGE_LIBPCAP is not set
# BR2_PACKAGE_LIBPJSIP is not set
# BR2_PACKAGE_LIBRSYNC is not set
# BR2_PACKAGE_LIBSHAIRPLAY is not set
# BR2_PACKAGE_LIBSHOUT is not set
# BR2_PACKAGE_LIBSOCKETCAN is not set
# BR2_PACKAGE_LIBSOUP is not set
# BR2_PACKAGE_LIBSRTP is not set
# BR2_PACKAGE_LIBSTROPHE is not set
# BR2_PACKAGE_LIBTIRPC is not set
# BR2_PACKAGE_LIBTORRENT is not set
# BR2_PACKAGE_LIBUPNP is not set

#
# libupnpp needs a toolchain w/ C++, threads, gcc >= 4.9
#
# BR2_PACKAGE_LIBURIPARSER is not set
# BR2_PACKAGE_LIBVNCSERVER is not set
# BR2_PACKAGE_LIBWEBSOCK is not set
# BR2_PACKAGE_LIBWEBSOCKETS is not set
# BR2_PACKAGE_LKSCTP_TOOLS is not set
# BR2_PACKAGE_MONGOOSE is not set
# BR2_PACKAGE_NANOMSG is not set
# BR2_PACKAGE_NEON is not set
# BR2_PACKAGE_NORM is not set
# BR2_PACKAGE_NSS_PAM_LDAPD is not set
# BR2_PACKAGE_OMNIORB is not set
# BR2_PACKAGE_OPENLDAP is not set
# BR2_PACKAGE_OPENMPI is not set
# BR2_PACKAGE_OPENPGM is not set

#
# openzwave needs udev and a toolchain w/ C++, threads, wchar
#
# BR2_PACKAGE_ORTP is not set
# BR2_PACKAGE_PAHO_MQTT_C is not set
# BR2_PACKAGE_QDECODER is not set
# BR2_PACKAGE_QPID_PROTON is not set
# BR2_PACKAGE_RABBITMQ_C is not set
# BR2_PACKAGE_RTMPDUMP is not set
# BR2_PACKAGE_SLIRP is not set
# BR2_PACKAGE_SNMPPP is not set
# BR2_PACKAGE_SOFIA_SIP is not set
# BR2_PACKAGE_THRIFT is not set
# BR2_PACKAGE_USBREDIR is not set
# BR2_PACKAGE_ZEROMQ is not set
# BR2_PACKAGE_ZMQPP is not set
# BR2_PACKAGE_ZYRE is not set

#
# Other
#
# BR2_PACKAGE_APR is not set
# BR2_PACKAGE_APR_UTIL is not set
# BR2_PACKAGE_ARMADILLO is not set
# BR2_PACKAGE_ATF is not set
# BR2_PACKAGE_BCTOOLBOX is not set
# BR2_PACKAGE_BDWGC is not set
# BR2_PACKAGE_BOOST is not set
# BR2_PACKAGE_CLAPACK is not set
BR2_PACKAGE_CLASSPATH_ARCH_SUPPORTS=y
# BR2_PACKAGE_CLASSPATH is not set
# BR2_PACKAGE_CPPCMS is not set
# BR2_PACKAGE_CRACKLIB is not set
# BR2_PACKAGE_DAWGDIC is not set
# BR2_PACKAGE_DING_LIBS is not set
# BR2_PACKAGE_EIGEN is not set
# BR2_PACKAGE_ELFUTILS is not set
# BR2_PACKAGE_FFTW is not set
# BR2_PACKAGE_FLANN is not set
# BR2_PACKAGE_GFLAGS is not set
# BR2_PACKAGE_GLIBMM is not set
# BR2_PACKAGE_GLM is not set
# BR2_PACKAGE_GMP is not set
# BR2_PACKAGE_GSL is not set
# BR2_PACKAGE_GTEST is not set
BR2_PACKAGE_JEMALLOC_ARCH_SUPPORTS=y
# BR2_PACKAGE_JEMALLOC is not set

#
# lapack/blas needs a toolchain w/ fortran
#
# BR2_PACKAGE_LIBARGTABLE2 is not set
BR2_PACKAGE_LIBATOMIC_OPS_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBATOMIC_OPS is not set
BR2_PACKAGE_LIBBSD_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBBSD is not set
# BR2_PACKAGE_LIBCAP is not set
# BR2_PACKAGE_LIBCAP_NG is not set
# BR2_PACKAGE_LIBCGROUP is not set
# BR2_PACKAGE_LIBCOFI is not set
# BR2_PACKAGE_LIBCROCO is not set
# BR2_PACKAGE_LIBCROSSGUID is not set
# BR2_PACKAGE_LIBCSV is not set
# BR2_PACKAGE_LIBDAEMON is not set
# BR2_PACKAGE_LIBEE is not set
# BR2_PACKAGE_LIBEV is not set
# BR2_PACKAGE_LIBEVDEV is not set
# BR2_PACKAGE_LIBEVENT is not set
BR2_PACKAGE_LIBFFI=y
# BR2_PACKAGE_LIBGEE is not set
BR2_PACKAGE_LIBGLIB2=y
# BR2_PACKAGE_LIBGLOB is not set
BR2_PACKAGE_LIBICAL=y
# BR2_PACKAGE_LIBITE is not set
# BR2_PACKAGE_LIBLINEAR is not set
# BR2_PACKAGE_LIBLOKI is not set
# BR2_PACKAGE_LIBNPTH is not set
BR2_PACKAGE_LIBNSPR_ARCH_SUPPORT=y
# BR2_PACKAGE_LIBNSPR is not set
# BR2_PACKAGE_LIBPFM4 is not set
# BR2_PACKAGE_LIBPLIST is not set
# BR2_PACKAGE_LIBPTHREAD_STUBS is not set
# BR2_PACKAGE_LIBPTHSEM is not set
# BR2_PACKAGE_LIBPWQUALITY is not set
BR2_PACKAGE_LIBSECCOMP_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBSECCOMP is not set
# BR2_PACKAGE_LIBSIGC is not set
BR2_PACKAGE_LIBSIGSEGV_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBSIGSEGV is not set
# BR2_PACKAGE_LIBSPATIALINDEX is not set
# BR2_PACKAGE_LIBTASN1 is not set
# BR2_PACKAGE_LIBTOMMATH is not set
# BR2_PACKAGE_LIBTPL is not set
# BR2_PACKAGE_LIBUBOX is not set
# BR2_PACKAGE_LIBUCI is not set
BR2_PACKAGE_LIBUNWIND_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBUNWIND is not set
BR2_PACKAGE_LIBURCU_ARCH_SUPPORTS=y
# BR2_PACKAGE_LIBURCU is not set
# BR2_PACKAGE_LIBUV is not set
# BR2_PACKAGE_LIGHTNING is not set
# BR2_PACKAGE_LINUX_PAM is not set
# BR2_PACKAGE_LIQUID_DSP is not set
# BR2_PACKAGE_LTTNG_LIBUST is not set
# BR2_PACKAGE_MPC is not set
# BR2_PACKAGE_MPDECIMAL is not set
# BR2_PACKAGE_MPFR is not set
# BR2_PACKAGE_MPIR is not set
# BR2_PACKAGE_MSGPACK is not set
# BR2_PACKAGE_MTDEV2TUIO is not set
BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET="ARMV5"
BR2_PACKAGE_OPENBLAS_ARCH_SUPPORTS=y
# BR2_PACKAGE_OPENBLAS is not set
# BR2_PACKAGE_ORC is not set
# BR2_PACKAGE_P11_KIT is not set
# BR2_PACKAGE_POCO is not set
BR2_PACKAGE_PROTOBUF_ARCH_SUPPORTS=y
# BR2_PACKAGE_PROTOBUF is not set
# BR2_PACKAGE_PROTOBUF_C is not set
# BR2_PACKAGE_QHULL is not set
# BR2_PACKAGE_QLIBC is not set
# BR2_PACKAGE_RIEMANN_C_CLIENT is not set
# BR2_PACKAGE_SHAPELIB is not set
# BR2_PACKAGE_SKALIBS is not set
# BR2_PACKAGE_SPHINXBASE is not set
# BR2_PACKAGE_TINYCBOR is not set
BR2_PACKAGE_TZDATA=y

#
# Security
#
# BR2_PACKAGE_LIBSELINUX is not set
# BR2_PACKAGE_LIBSEMANAGE is not set
# BR2_PACKAGE_LIBSEPOL is not set

#
# Text and terminal handling
#
# BR2_PACKAGE_AUGEAS is not set
# BR2_PACKAGE_ENCHANT is not set
# BR2_PACKAGE_FMT is not set
# BR2_PACKAGE_ICU is not set
# BR2_PACKAGE_LIBCLI is not set
# BR2_PACKAGE_LIBEDIT is not set
# BR2_PACKAGE_LIBENCA is not set
# BR2_PACKAGE_LIBESTR is not set
# BR2_PACKAGE_LIBFRIBIDI is not set
# BR2_PACKAGE_LIBUNISTRING is not set
# BR2_PACKAGE_LINENOISE is not set
BR2_PACKAGE_NCURSES=y
# BR2_PACKAGE_NCURSES_WCHAR is not set
# BR2_PACKAGE_NCURSES_TARGET_PROGS is not set
# BR2_PACKAGE_NEWT is not set
BR2_PACKAGE_PCRE=y
# BR2_PACKAGE_PCRE_16 is not set
# BR2_PACKAGE_PCRE_32 is not set
BR2_PACKAGE_PCRE_UTF=y
BR2_PACKAGE_PCRE_UCP=y
BR2_PACKAGE_PCRE2=y
BR2_PACKAGE_PCRE2_16=y
# BR2_PACKAGE_PCRE2_32 is not set
# BR2_PACKAGE_POPT is not set
BR2_PACKAGE_READLINE=y
# BR2_PACKAGE_SLANG is not set
# BR2_PACKAGE_TCLAP is not set
# BR2_PACKAGE_USTR is not set

#
# Mail
#
# BR2_PACKAGE_DOVECOT is not set
# BR2_PACKAGE_EXIM is not set
# BR2_PACKAGE_FETCHMAIL is not set
# BR2_PACKAGE_HEIRLOOM_MAILX is not set
# BR2_PACKAGE_LIBESMTP is not set
# BR2_PACKAGE_MSMTP is not set
# BR2_PACKAGE_MUTT is not set

#
# Miscellaneous
#
# BR2_PACKAGE_AESPIPE is not set
# BR2_PACKAGE_BC is not set
# BR2_PACKAGE_CLAMAV is not set
# BR2_PACKAGE_COLLECTD is not set

#
# domoticz needs lua >= 5.2 and a toolchain w/ C++, threads, wchar, dynamic library
#
# BR2_PACKAGE_EMPTY is not set
# BR2_PACKAGE_GNURADIO is not set
# BR2_PACKAGE_GOOGLEFONTDIRECTORY is not set

#
# gqrx needs qt5, gnuradio, fftw's single precision
#
# BR2_PACKAGE_GSETTINGS_DESKTOP_SCHEMAS is not set
# BR2_PACKAGE_HAVEGED is not set
# BR2_PACKAGE_LINUX_SYSCALL_SUPPORT is not set
# BR2_PACKAGE_MCRYPT is not set
# BR2_PACKAGE_MOBILE_BROADBAND_PROVIDER_INFO is not set
BR2_PACKAGE_QEMU_ARCH_SUPPORTS_TARGET=y
# BR2_PACKAGE_QEMU is not set
# BR2_PACKAGE_QPDF is not set
# BR2_PACKAGE_SHARED_MIME_INFO is not set
# BR2_PACKAGE_TASKD is not set
# BR2_PACKAGE_XUTIL_UTIL_MACROS is not set

#
# Networking applications
#
# BR2_PACKAGE_AICCU is not set
# BR2_PACKAGE_AIRCRACK_NG is not set
# BR2_PACKAGE_APACHE is not set
# BR2_PACKAGE_ARGUS is not set
# BR2_PACKAGE_ARP_SCAN is not set
# BR2_PACKAGE_ARPTABLES is not set
# BR2_PACKAGE_ATFTP is not set
# BR2_PACKAGE_AUTOSSH is not set
# BR2_PACKAGE_AVAHI is not set
# BR2_PACKAGE_AXEL is not set
# BR2_PACKAGE_BABELD is not set
# BR2_PACKAGE_BANDWIDTHD is not set
# BR2_PACKAGE_BATCTL is not set
# BR2_PACKAGE_BCUSDK is not set
# BR2_PACKAGE_BIND is not set
# BR2_PACKAGE_BLUEZ_UTILS is not set
# BR2_PACKAGE_BLUEZ5_UTILS is not set
# BR2_PACKAGE_BMON is not set
# BR2_PACKAGE_BOA is not set
# BR2_PACKAGE_BRIDGE_UTILS is not set
# BR2_PACKAGE_BWM_NG is not set
# BR2_PACKAGE_C_ICAP is not set
# BR2_PACKAGE_CAN_UTILS is not set
# BR2_PACKAGE_CANNELLONI is not set
# BR2_PACKAGE_CHRONY is not set
# BR2_PACKAGE_CIVETWEB is not set
# BR2_PACKAGE_CONNMAN is not set

#
# connman-gtk needs libgtk3 and a glibc or uClibc toolchain w/ wchar, threads, resolver, dynamic library
#
# BR2_PACKAGE_CONNTRACK_TOOLS is not set
# BR2_PACKAGE_CRDA is not set
# BR2_PACKAGE_CTORRENT is not set
# BR2_PACKAGE_CUPS is not set
# BR2_PACKAGE_DANTE is not set
# BR2_PACKAGE_DARKHTTPD is not set
# BR2_PACKAGE_DHCPCD is not set
# BR2_PACKAGE_DHCPDUMP is not set
# BR2_PACKAGE_DNSMASQ is not set
# BR2_PACKAGE_DRBD_UTILS is not set
BR2_PACKAGE_DROPBEAR=y
BR2_PACKAGE_DROPBEAR_CLIENT=y
BR2_PACKAGE_DROPBEAR_DISABLE_REVERSEDNS=y
BR2_PACKAGE_DROPBEAR_SMALL=y
BR2_PACKAGE_DROPBEAR_WTMP=y
BR2_PACKAGE_DROPBEAR_LASTLOG=y
# BR2_PACKAGE_EBTABLES is not set

#
# ebtables needs a glibc or uClibc toolchain
#

#
# ejabberd needs erlang, toolchain w/ C++
#
# BR2_PACKAGE_ETHTOOL is not set
# BR2_PACKAGE_FAIFA is not set
# BR2_PACKAGE_FASTD is not set
# BR2_PACKAGE_FCGIWRAP is not set
# BR2_PACKAGE_FLANNEL is not set
# BR2_PACKAGE_FPING is not set
# BR2_PACKAGE_FREESWITCH is not set
# BR2_PACKAGE_GESFTPSERVER is not set

#
# gupnp-tools needs libgtk3
#
# BR2_PACKAGE_HANS is not set
# BR2_PACKAGE_HIAWATHA is not set
# BR2_PACKAGE_HOSTAPD is not set
# BR2_PACKAGE_HTTPING is not set
# BR2_PACKAGE_IBRDTN_TOOLS is not set
# BR2_PACKAGE_IBRDTND is not set
# BR2_PACKAGE_IFTOP is not set
BR2_PACKAGE_IFUPDOWN_SCRIPTS=y
# BR2_PACKAGE_IGD2_FOR_LINUX is not set

#
# igh-ethercat needs a Linux kernel to be built
#
# BR2_PACKAGE_IGMPPROXY is not set
# BR2_PACKAGE_INADYN is not set
# BR2_PACKAGE_IODINE is not set
# BR2_PACKAGE_IPERF is not set
# BR2_PACKAGE_IPERF3 is not set
# BR2_PACKAGE_IPROUTE2 is not set
# BR2_PACKAGE_IPSEC_TOOLS is not set
# BR2_PACKAGE_IPSET is not set
# BR2_PACKAGE_IPTABLES is not set
# BR2_PACKAGE_IPTRAF_NG is not set
# BR2_PACKAGE_IPUTILS is not set
# BR2_PACKAGE_IRSSI is not set
BR2_PACKAGE_IW=y
# BR2_PACKAGE_JANUS_GATEWAY is not set
# BR2_PACKAGE_KEEPALIVED is not set
# BR2_PACKAGE_KISMET is not set
# BR2_PACKAGE_KNOCK is not set
# BR2_PACKAGE_LEAFNODE2 is not set
# BR2_PACKAGE_LFT is not set
# BR2_PACKAGE_LFTP is not set
# BR2_PACKAGE_LIGHTTPD is not set
# BR2_PACKAGE_LINKNX is not set
# BR2_PACKAGE_LINKS is not set
# BR2_PACKAGE_LINPHONE is not set
# BR2_PACKAGE_LINUX_ZIGBEE is not set
# BR2_PACKAGE_LINUXPTP is not set
# BR2_PACKAGE_LLDPD is not set
# BR2_PACKAGE_LRZSZ is not set
# BR2_PACKAGE_MACCHANGER is not set
# BR2_PACKAGE_MEMCACHED is not set
# BR2_PACKAGE_MII_DIAG is not set
# BR2_PACKAGE_MINIDLNA is not set
# BR2_PACKAGE_MINISSDPD is not set
# BR2_PACKAGE_MJPG_STREAMER is not set

#
# modemmanager needs udev /dev management and a toolchain w/ wchar, threads
#
BR2_PACKAGE_MONGREL2_LIBC_SUPPORTS=y
# BR2_PACKAGE_MONGREL2 is not set
# BR2_PACKAGE_MONKEY is not set
# BR2_PACKAGE_MOSH is not set
# BR2_PACKAGE_MOSQUITTO is not set
# BR2_PACKAGE_MROUTED is not set
# BR2_PACKAGE_MTR is not set
# BR2_PACKAGE_NBD is not set
# BR2_PACKAGE_NCFTP is not set
# BR2_PACKAGE_NDISC6 is not set
# BR2_PACKAGE_NETATALK is not set
# BR2_PACKAGE_NETPLUG is not set
# BR2_PACKAGE_NETSNMP is not set
# BR2_PACKAGE_NETSTAT_NAT is not set

#
# NetworkManager needs udev /dev management and a glibc toolchain w/ headers >= 3.7, dynamic library
#
# BR2_PACKAGE_NFACCT is not set
# BR2_PACKAGE_NFTABLES is not set
# BR2_PACKAGE_NGINX is not set
# BR2_PACKAGE_NGIRCD is not set
# BR2_PACKAGE_NGREP is not set
# BR2_PACKAGE_NLOAD is not set
# BR2_PACKAGE_NMAP is not set
# BR2_PACKAGE_NOIP is not set
# BR2_PACKAGE_NTP is not set
# BR2_PACKAGE_NUTTCP is not set
# BR2_PACKAGE_ODHCP6C is not set
# BR2_PACKAGE_ODHCPLOC is not set
# BR2_PACKAGE_OLSR is not set
# BR2_PACKAGE_OPEN_PLC_UTILS is not set
# BR2_PACKAGE_OPENNTPD is not set
# BR2_PACKAGE_OPENOBEX is not set
BR2_PACKAGE_OPENSSH=y
# BR2_PACKAGE_OPENSWAN is not set
# BR2_PACKAGE_OPENVPN is not set
# BR2_PACKAGE_P910ND is not set
# BR2_PACKAGE_PHIDGETWEBSERVICE is not set
# BR2_PACKAGE_PHYTOOL is not set
# BR2_PACKAGE_POUND is not set
# BR2_PACKAGE_PPPD is not set
# BR2_PACKAGE_PPTP_LINUX is not set
# BR2_PACKAGE_PRIVOXY is not set
# BR2_PACKAGE_PROFTPD is not set
# BR2_PACKAGE_PROXYCHAINS_NG is not set
# BR2_PACKAGE_PTPD is not set
# BR2_PACKAGE_PTPD2 is not set
# BR2_PACKAGE_PURE_FTPD is not set
# BR2_PACKAGE_PUTTY is not set
# BR2_PACKAGE_QUAGGA is not set

#
# rabbitmq-server needs erlang
#
# BR2_PACKAGE_RADVD is not set
# BR2_PACKAGE_RP_PPPOE is not set
# BR2_PACKAGE_RPCBIND is not set
# BR2_PACKAGE_RSH_REDONE is not set
# BR2_PACKAGE_RSYNC is not set
# BR2_PACKAGE_RTORRENT is not set
# BR2_PACKAGE_RTPTOOLS is not set
# BR2_PACKAGE_S6_DNS is not set
# BR2_PACKAGE_S6_NETWORKING is not set
# BR2_PACKAGE_SAMBA4 is not set
# BR2_PACKAGE_SCONESERVER is not set
# BR2_PACKAGE_SER2NET is not set
# BR2_PACKAGE_SHAIRPORT_SYNC is not set
# BR2_PACKAGE_SHELLINABOX is not set
# BR2_PACKAGE_SMCROUTE is not set
# BR2_PACKAGE_SNGREP is not set
# BR2_PACKAGE_SOCAT is not set
# BR2_PACKAGE_SOCKETCAND is not set
# BR2_PACKAGE_SOFTETHER is not set
# BR2_PACKAGE_SPAWN_FCGI is not set
# BR2_PACKAGE_SPICE_PROTOCOL is not set
# BR2_PACKAGE_SQUID is not set
# BR2_PACKAGE_SSHPASS is not set
# BR2_PACKAGE_SSLH is not set
# BR2_PACKAGE_STRONGSWAN is not set
# BR2_PACKAGE_STUNNEL is not set
# BR2_PACKAGE_TCPDUMP is not set
# BR2_PACKAGE_TCPING is not set
# BR2_PACKAGE_TCPREPLAY is not set
# BR2_PACKAGE_THTTPD is not set
# BR2_PACKAGE_TINC is not set
# BR2_PACKAGE_TINYHTTPD is not set
# BR2_PACKAGE_TN5250 is not set
# BR2_PACKAGE_TOR is not set
# BR2_PACKAGE_TRANSMISSION is not set
# BR2_PACKAGE_TUNCTL is not set
# BR2_PACKAGE_TVHEADEND is not set
# BR2_PACKAGE_UDPCAST is not set
# BR2_PACKAGE_UHTTPD is not set
# BR2_PACKAGE_ULOGD is not set
# BR2_PACKAGE_USHARE is not set
# BR2_PACKAGE_USSP_PUSH is not set
# BR2_PACKAGE_VDE2 is not set
# BR2_PACKAGE_VDR is not set
# BR2_PACKAGE_VNSTAT is not set
# BR2_PACKAGE_VPNC is not set
# BR2_PACKAGE_VSFTPD is not set
# BR2_PACKAGE_VTUN is not set
# BR2_PACKAGE_WAVEMON is not set
# BR2_PACKAGE_WIRELESS_REGDB is not set
BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
# BR2_PACKAGE_WIRESHARK is not set
BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_NL80211=y
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
# BR2_PACKAGE_WPA_SUPPLICANT_WIFI_DISPLAY is not set
# BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING is not set
BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
BR2_PACKAGE_WPA_SUPPLICANT_EAP=y
BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y
BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y
BR2_PACKAGE_WPA_SUPPLICANT_WPS=y
BR2_PACKAGE_WPA_SUPPLICANT_CLI=y
BR2_PACKAGE_WPA_SUPPLICANT_WPA_CLIENT_SO=y
BR2_PACKAGE_WPA_SUPPLICANT_PASSPHRASE=y
# BR2_PACKAGE_WPAN_TOOLS is not set
# BR2_PACKAGE_XINETD is not set
# BR2_PACKAGE_XL2TP is not set

#
# xtables-addons needs a Linux kernel to be built
#
# BR2_PACKAGE_ZNC is not set

#
# Package managers
#

#
# -------------------------------------------------------
#

#
# Please note:                                           
#

#
# - Buildroot does *not* generate binary packages,       
#

#
# - Buildroot does *not* install any package database.   
#

#
# *                                                      
#

#
# It is up to you to provide those by yourself if you    
#

#
# want to use any of those package managers.             
#

#
# *                                                      
#

#
# See the manual:                                        
#

#
# http://buildroot.org/manual.html#faq-no-binary-packages
#

#
# -------------------------------------------------------
#
# BR2_PACKAGE_OPKG is not set

#
# Real-Time
#
BR2_PACKAGE_XENOMAI_ARCH_SUPPORTS=y
# BR2_PACKAGE_XENOMAI is not set

#
# Security
#
# BR2_PACKAGE_CHECKPOLICY is not set
# BR2_PACKAGE_PAXTEST is not set
# BR2_PACKAGE_POLICYCOREUTILS is not set
# BR2_PACKAGE_REFPOLICY is not set
# BR2_PACKAGE_SEPOLGEN is not set
# BR2_PACKAGE_SETOOLS is not set

#
# Shell and utilities
#

#
# Shells
#
# BR2_PACKAGE_MKSH is not set

#
# Utilities
#
# BR2_PACKAGE_AT is not set
# BR2_PACKAGE_CCRYPT is not set
# BR2_PACKAGE_DIALOG is not set
# BR2_PACKAGE_DTACH is not set
# BR2_PACKAGE_FILE is not set
# BR2_PACKAGE_EASY_RSA is not set
# BR2_PACKAGE_GNUPG is not set
# BR2_PACKAGE_GNUPG2 is not set
# BR2_PACKAGE_INOTIFY_TOOLS is not set
# BR2_PACKAGE_LOCKFILE_PROGS is not set
# BR2_PACKAGE_LOGROTATE is not set
# BR2_PACKAGE_LOGSURFER is not set
# BR2_PACKAGE_PINENTRY is not set
# BR2_PACKAGE_RANGER is not set
# BR2_PACKAGE_SCREEN is not set
# BR2_PACKAGE_SUDO is not set
# BR2_PACKAGE_TMUX is not set
# BR2_PACKAGE_XMLSTARLET is not set
# BR2_PACKAGE_XXHASH is not set

#
# System tools
#
# BR2_PACKAGE_ACL is not set
# BR2_PACKAGE_ANDROID_TOOLS is not set
# BR2_PACKAGE_ATOP is not set
# BR2_PACKAGE_ATTR is not set
BR2_PACKAGE_AUDIT_ARCH_SUPPORTS=y
# BR2_PACKAGE_AUDIT is not set
# BR2_PACKAGE_CGROUPFS_MOUNT is not set

#
# circus needs Python and a toolchain w/ C++, threads
#
# BR2_PACKAGE_CPULOAD is not set
# BR2_PACKAGE_DAEMON is not set
# BR2_PACKAGE_DC3DD is not set
# BR2_PACKAGE_DDRESCUE is not set
# BR2_PACKAGE_DOCKER_CONTAINERD is not set
# BR2_PACKAGE_DOCKER_ENGINE is not set

#
# efibootmgr needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9
#
BR2_PACKAGE_EFIVAR_ARCH_SUPPORTS=y

#
# efivar needs a glibc or uClibc toolchain w/ dynamic library, headers >= 3.12, gcc >= 4.9
#

#
# emlog needs a Linux kernel to be built
#
# BR2_PACKAGE_FTOP is not set
# BR2_PACKAGE_GETENT is not set
# BR2_PACKAGE_HTOP is not set
BR2_PACKAGE_INITSCRIPTS=y

#
# iotop depends on python or python3
#
# BR2_PACKAGE_IPRUTILS is not set
# BR2_PACKAGE_IRQBALANCE is not set
# BR2_PACKAGE_KEYUTILS is not set
# BR2_PACKAGE_KMOD is not set
# BR2_PACKAGE_KVMTOOL is not set
# BR2_PACKAGE_LXC is not set
# BR2_PACKAGE_MONIT is not set
# BR2_PACKAGE_NCDU is not set
# BR2_PACKAGE_NUT is not set
# BR2_PACKAGE_POLKIT is not set
# BR2_PACKAGE_PROCRANK_LINUX is not set
# BR2_PACKAGE_PWGEN is not set
# BR2_PACKAGE_QUOTA is not set
# BR2_PACKAGE_RAUC is not set
# BR2_PACKAGE_RUNC is not set
# BR2_PACKAGE_S6 is not set
# BR2_PACKAGE_S6_LINUX_INIT is not set
# BR2_PACKAGE_S6_LINUX_UTILS is not set
# BR2_PACKAGE_S6_PORTABLE_UTILS is not set
# BR2_PACKAGE_S6_RC is not set
# BR2_PACKAGE_SCRUB is not set
# BR2_PACKAGE_SCRYPT is not set
# BR2_PACKAGE_SMACK is not set

#
# supervisor needs the python interpreter
#
# BR2_PACKAGE_SWUPDATE is not set
BR2_PACKAGE_SYSTEMD_ARCH_SUPPORTS=y
# BR2_PACKAGE_TPM_TOOLS is not set
# BR2_PACKAGE_UNSCD is not set
BR2_PACKAGE_UTIL_LINUX=y
BR2_PACKAGE_UTIL_LINUX_LIBBLKID=y
# BR2_PACKAGE_UTIL_LINUX_LIBFDISK is not set
BR2_PACKAGE_UTIL_LINUX_LIBMOUNT=y
# BR2_PACKAGE_UTIL_LINUX_LIBSMARTCOLS is not set
BR2_PACKAGE_UTIL_LINUX_LIBUUID=y
# BR2_PACKAGE_UTIL_LINUX_BINARIES is not set
# BR2_PACKAGE_UTIL_LINUX_AGETTY is not set
# BR2_PACKAGE_UTIL_LINUX_BFS is not set
# BR2_PACKAGE_UTIL_LINUX_CAL is not set
# BR2_PACKAGE_UTIL_LINUX_CHFN_CHSH is not set
# BR2_PACKAGE_UTIL_LINUX_CHMEM is not set
# BR2_PACKAGE_UTIL_LINUX_CRAMFS is not set
# BR2_PACKAGE_UTIL_LINUX_EJECT is not set
# BR2_PACKAGE_UTIL_LINUX_FALLOCATE is not set
# BR2_PACKAGE_UTIL_LINUX_FDFORMAT is not set
# BR2_PACKAGE_UTIL_LINUX_FSCK is not set
# BR2_PACKAGE_UTIL_LINUX_HWCLOCK is not set
# BR2_PACKAGE_UTIL_LINUX_IPCRM is not set
# BR2_PACKAGE_UTIL_LINUX_IPCS is not set
# BR2_PACKAGE_UTIL_LINUX_KILL is not set
# BR2_PACKAGE_UTIL_LINUX_LAST is not set
# BR2_PACKAGE_UTIL_LINUX_LINE is not set
# BR2_PACKAGE_UTIL_LINUX_LOGIN_UTILS is not set
# BR2_PACKAGE_UTIL_LINUX_LOGGER is not set
# BR2_PACKAGE_UTIL_LINUX_LOSETUP is not set
# BR2_PACKAGE_UTIL_LINUX_LSLOGINS is not set
# BR2_PACKAGE_UTIL_LINUX_LSMEM is not set
# BR2_PACKAGE_UTIL_LINUX_MESG is not set
# BR2_PACKAGE_UTIL_LINUX_MINIX is not set
# BR2_PACKAGE_UTIL_LINUX_MORE is not set
# BR2_PACKAGE_UTIL_LINUX_MOUNT is not set
# BR2_PACKAGE_UTIL_LINUX_MOUNTPOINT is not set
# BR2_PACKAGE_UTIL_LINUX_NEWGRP is not set
# BR2_PACKAGE_UTIL_LINUX_NOLOGIN is not set
# BR2_PACKAGE_UTIL_LINUX_NSENTER is not set
# BR2_PACKAGE_UTIL_LINUX_PG is not set
# BR2_PACKAGE_UTIL_LINUX_PARTX is not set
# BR2_PACKAGE_UTIL_LINUX_PIVOT_ROOT is not set
# BR2_PACKAGE_UTIL_LINUX_RAW is not set
# BR2_PACKAGE_UTIL_LINUX_RENAME is not set
# BR2_PACKAGE_UTIL_LINUX_RESET is not set
# BR2_PACKAGE_UTIL_LINUX_SCHEDUTILS is not set
# BR2_PACKAGE_UTIL_LINUX_SETPRIV is not set
# BR2_PACKAGE_UTIL_LINUX_SETTERM is not set
# BR2_PACKAGE_UTIL_LINUX_SWITCH_ROOT is not set
# BR2_PACKAGE_UTIL_LINUX_TUNELP is not set
# BR2_PACKAGE_UTIL_LINUX_UL is not set
# BR2_PACKAGE_UTIL_LINUX_UNSHARE is not set
# BR2_PACKAGE_UTIL_LINUX_UTMPDUMP is not set
# BR2_PACKAGE_UTIL_LINUX_UUIDD is not set
# BR2_PACKAGE_UTIL_LINUX_VIPW is not set
# BR2_PACKAGE_UTIL_LINUX_WALL is not set
# BR2_PACKAGE_UTIL_LINUX_WDCTL is not set
# BR2_PACKAGE_UTIL_LINUX_WRITE is not set
# BR2_PACKAGE_UTIL_LINUX_ZRAMCTL is not set
BR2_PACKAGE_XVISOR_ARCH_SUPPORTS=y

#
# xvisor needs a toolchain w/ gcc >= 4.9
#

#
# Text editors and viewers
#
# BR2_PACKAGE_ED is not set
# BR2_PACKAGE_JOE is not set
# BR2_PACKAGE_MC is not set
# BR2_PACKAGE_NANO is not set
# BR2_PACKAGE_UEMACS is not set

#
# Filesystem images
#
# BR2_TARGET_ROOTFS_AXFS is not set
# BR2_TARGET_ROOTFS_CLOOP is not set
# BR2_TARGET_ROOTFS_CPIO is not set
# BR2_TARGET_ROOTFS_CRAMFS is not set
# BR2_TARGET_ROOTFS_EXT2 is not set

#
# initramfs needs a Linux kernel to be built
#
# BR2_TARGET_ROOTFS_JFFS2 is not set
# BR2_TARGET_ROOTFS_ROMFS is not set
# BR2_TARGET_ROOTFS_SQUASHFS is not set
BR2_TARGET_ROOTFS_TAR=y
BR2_TARGET_ROOTFS_TAR_NONE=y
# BR2_TARGET_ROOTFS_TAR_GZIP is not set
# BR2_TARGET_ROOTFS_TAR_BZIP2 is not set
# BR2_TARGET_ROOTFS_TAR_LZMA is not set
# BR2_TARGET_ROOTFS_TAR_LZO is not set
# BR2_TARGET_ROOTFS_TAR_XZ is not set
BR2_TARGET_ROOTFS_TAR_OPTIONS=""
# BR2_TARGET_ROOTFS_UBIFS is not set
# BR2_TARGET_ROOTFS_YAFFS2 is not set

#
# Bootloaders
#
# BR2_TARGET_AFBOOT_STM32 is not set
# BR2_TARGET_AT91BOOTSTRAP is not set
# BR2_TARGET_AT91BOOTSTRAP3 is not set
# BR2_TARGET_AT91DATAFLASHBOOT is not set
# BR2_TARGET_BAREBOX is not set
# BR2_TARGET_LPC32XXCDL is not set
# BR2_TARGET_MXS_BOOTLETS is not set
# BR2_TARGET_S500_BOOTLOADER is not set
# BR2_TARGET_UBOOT is not set

#
# Host utilities
#
# BR2_PACKAGE_HOST_AESPIPE is not set
# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set
# BR2_PACKAGE_HOST_CBOOTIMAGE is not set
# BR2_PACKAGE_HOST_CHECKPOLICY is not set
# BR2_PACKAGE_HOST_CRAMFS is not set
# BR2_PACKAGE_HOST_DFU_UTIL is not set
# BR2_PACKAGE_HOST_DOS2UNIX is not set
# BR2_PACKAGE_HOST_DOSFSTOOLS is not set
# BR2_PACKAGE_HOST_DTC is not set
# BR2_PACKAGE_HOST_E2FSPROGS is not set
# BR2_PACKAGE_HOST_E2TOOLS is not set
# BR2_PACKAGE_HOST_FAKETIME is not set
# BR2_PACKAGE_HOST_FWUP is not set
# BR2_PACKAGE_HOST_GENEXT2FS is not set
# BR2_PACKAGE_HOST_GENIMAGE is not set
# BR2_PACKAGE_HOST_GENPART is not set
BR2_PACKAGE_HOST_GO_ARCH_SUPPORTS=y
BR2_PACKAGE_HOST_GO_CGO_LINKING_SUPPORTS=y
# BR2_PACKAGE_HOST_GPTFDISK is not set
# BR2_PACKAGE_HOST_IMX_USB_LOADER is not set
# BR2_PACKAGE_HOST_JQ is not set
# BR2_PACKAGE_HOST_JSMIN is not set
# BR2_PACKAGE_HOST_LPC3250LOADER is not set
# BR2_PACKAGE_HOST_LTTNG_BABELTRACE is not set
# BR2_PACKAGE_HOST_MFGTOOLS is not set
# BR2_PACKAGE_HOST_MKPASSWD is not set
# BR2_PACKAGE_HOST_MTD is not set
# BR2_PACKAGE_HOST_MTOOLS is not set
# BR2_PACKAGE_HOST_MXSLDR is not set
# BR2_PACKAGE_HOST_OMAP_U_BOOT_UTILS is not set
# BR2_PACKAGE_HOST_OPENOCD is not set
# BR2_PACKAGE_HOST_OPKG_UTILS is not set
# BR2_PACKAGE_HOST_PARTED is not set
BR2_PACKAGE_HOST_PATCHELF=y
# BR2_PACKAGE_HOST_PRU_SOFTWARE_SUPPORT is not set
# BR2_PACKAGE_HOST_PWGEN is not set
# BR2_PACKAGE_HOST_PYTHON_LXML is not set
# BR2_PACKAGE_HOST_QEMU is not set
# BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT is not set
# BR2_PACKAGE_HOST_RAUC is not set
# BR2_PACKAGE_HOST_SAM_BA is not set
# BR2_PACKAGE_HOST_SQUASHFS is not set
# BR2_PACKAGE_HOST_SUNXI_TOOLS is not set
# BR2_PACKAGE_HOST_TEGRARCM is not set
BR2_PACKAGE_HOST_TI_CGT_PRU_ARCH_SUPPORTS=y
# BR2_PACKAGE_HOST_TI_CGT_PRU is not set
# BR2_PACKAGE_HOST_UBOOT_TOOLS is not set
# BR2_PACKAGE_HOST_UTIL_LINUX is not set
# BR2_PACKAGE_HOST_VBOOT_UTILS is not set
# BR2_PACKAGE_HOST_XORRISO is not set
# BR2_PACKAGE_HOST_ZIP is not set

#
# Legacy config options
#

#
# Legacy options removed in 2017.08
#
# BR2_PACKAGE_SIMICSFS is not set
# BR2_BINUTILS_VERSION_2_26_X is not set
BR2_XTENSA_OVERLAY_DIR=""
BR2_XTENSA_CUSTOM_NAME=""
# BR2_PACKAGE_HOST_MKE2IMG is not set
BR2_TARGET_ROOTFS_EXT2_BLOCKS=0
BR2_TARGET_ROOTFS_EXT2_EXTRA_INODES=0
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_CDXAPARSE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DATAURISRC is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_DCCP is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_HDVPARSE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MVE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_NUVDEMUX is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_PATCHDETECT is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDI is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_TTA is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_VIDEOMEASURE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_APEXSINK is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_SDL is not set
# BR2_PACKAGE_GST1_PLUGINS_UGLY_PLUGIN_MAD is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_WEBRTC is not set
# BR2_STRIP_none is not set
# BR2_PACKAGE_BEECRYPT_CPP is not set
# BR2_PACKAGE_SPICE_CLIENT is not set
# BR2_PACKAGE_SPICE_GUI is not set
# BR2_PACKAGE_SPICE_TUNNEL is not set
# BR2_PACKAGE_INPUT_TOOLS is not set
# BR2_PACKAGE_INPUT_TOOLS_INPUTATTACH is not set
# BR2_PACKAGE_INPUT_TOOLS_JSCAL is not set
# BR2_PACKAGE_INPUT_TOOLS_JSTEST is not set
# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_SH is not set
# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_X86 is not set
# BR2_GCC_VERSION_4_8_X is not set

#
# Legacy options removed in 2017.05
#
# BR2_PACKAGE_SUNXI_MALI_R2P4 is not set
# BR2_PACKAGE_NODEJS_MODULES_COFFEESCRIPT is not set
# BR2_PACKAGE_NODEJS_MODULES_EXPRESS is not set
# BR2_PACKAGE_BLUEZ5_UTILS_GATTTOOL is not set
# BR2_PACKAGE_OPENOCD_FT2XXX is not set
# BR2_PACKAGE_KODI_RTMPDUMP is not set
# BR2_PACKAGE_KODI_VISUALISATION_FOUNTAIN is not set
# BR2_PACKAGE_PORTMAP is not set
# BR2_BINUTILS_VERSION_2_25_X is not set
# BR2_TOOLCHAIN_BUILDROOT_INET_RPC is not set
BR2_TARGET_ROOTFS_EXT2_EXTRA_BLOCKS=0
# BR2_PACKAGE_SYSTEMD_KDBUS is not set
# BR2_PACKAGE_POLARSSL is not set
# BR2_NBD_CLIENT is not set
# BR2_NBD_SERVER is not set
# BR2_PACKAGE_GMOCK is not set
# BR2_KERNEL_HEADERS_4_8 is not set
# BR2_KERNEL_HEADERS_3_18 is not set
# BR2_GLIBC_VERSION_2_22 is not set

#
# Legacy options removed in 2017.02
#
# BR2_PACKAGE_PERL_DB_FILE is not set
# BR2_KERNEL_HEADERS_4_7 is not set
# BR2_KERNEL_HEADERS_4_6 is not set
# BR2_KERNEL_HEADERS_4_5 is not set
# BR2_KERNEL_HEADERS_3_14 is not set
# BR2_TOOLCHAIN_EXTERNAL_MUSL_CROSS is not set
# BR2_UCLIBC_INSTALL_TEST_SUITE is not set
# BR2_TOOLCHAIN_EXTERNAL_BLACKFIN_UCLINUX is not set
# BR2_PACKAGE_MAKEDEVS is not set
# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A is not set
# BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE is not set
# BR2_PACKAGE_SNOWBALL_HDMISERVICE is not set
# BR2_PACKAGE_SNOWBALL_INIT is not set
# BR2_GDB_VERSION_7_9 is not set

#
# Legacy options removed in 2016.11
#
# BR2_PACKAGE_PHP_SAPI_CLI_CGI is not set
# BR2_PACKAGE_PHP_SAPI_CLI_FPM is not set
# BR2_PACKAGE_WVSTREAMS is not set
# BR2_PACKAGE_WVDIAL is not set
# BR2_PACKAGE_WEBKITGTK24 is not set
# BR2_PACKAGE_TORSMO is not set
# BR2_PACKAGE_SSTRIP is not set
# BR2_KERNEL_HEADERS_4_3 is not set
# BR2_KERNEL_HEADERS_4_2 is not set
# BR2_PACKAGE_KODI_ADDON_XVDR is not set
# BR2_PACKAGE_IPKG is not set
# BR2_GCC_VERSION_4_7_X is not set
# BR2_BINUTILS_VERSION_2_24_X is not set
# BR2_PACKAGE_WESTON_RPI is not set
# BR2_GCC_VERSION_4_8_ARC is not set
# BR2_KERNEL_HEADERS_4_0 is not set
# BR2_KERNEL_HEADERS_3_19 is not set
# BR2_PACKAGE_LIBEVAS_GENERIC_LOADERS is not set
# BR2_PACKAGE_ELEMENTARY is not set
# BR2_LINUX_KERNEL_CUSTOM_LOCAL is not set

#
# Legacy options removed in 2016.08
#
# BR2_PACKAGE_EFL_JP2K is not set
# BR2_PACKAGE_SYSTEMD_COMPAT is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_LIVEADDER is not set
# BR2_PACKAGE_LIBFSLVPUWRAP is not set
# BR2_PACKAGE_LIBFSLPARSER is not set
# BR2_PACKAGE_LIBFSLCODEC is not set
# BR2_PACKAGE_UBOOT_TOOLS_MKIMAGE_FIT_SIGNATURE_SUPPORT is not set
# BR2_PTHREADS_OLD is not set
# BR2_BINUTILS_VERSION_2_23_X is not set
# BR2_TOOLCHAIN_BUILDROOT_EGLIBC is not set
# BR2_GDB_VERSION_7_8 is not set

#
# Legacy options removed in 2016.05
#
# BR2_PACKAGE_OPENVPN_CRYPTO_POLARSSL is not set
# BR2_PACKAGE_NGINX_HTTP_SPDY_MODULE is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_RTP is not set
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_MPG123 is not set
# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC is not set
# BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_POWERPC_E500V2 is not set
# BR2_x86_i386 is not set
# BR2_PACKAGE_QT5WEBKIT_EXAMPLES is not set
# BR2_PACKAGE_QT5QUICK1 is not set
BR2_TARGET_UBOOT_CUSTOM_PATCH_DIR=""
# BR2_PACKAGE_XDRIVER_XF86_INPUT_VOID is not set
# BR2_KERNEL_HEADERS_3_17 is not set
# BR2_GDB_VERSION_7_7 is not set
# BR2_PACKAGE_FOOMATIC_FILTERS is not set
# BR2_PACKAGE_SAMBA is not set
# BR2_PACKAGE_KODI_WAVPACK is not set
# BR2_PACKAGE_KODI_RSXS is not set
# BR2_PACKAGE_KODI_GOOM is not set
# BR2_PACKAGE_SYSTEMD_ALL_EXTRAS is not set
# BR2_GCC_VERSION_4_5_X is not set
# BR2_PACKAGE_SQLITE_READLINE is not set

#
# Legacy options removed in 2016.02
#
# BR2_PACKAGE_DOVECOT_BZIP2 is not set
# BR2_PACKAGE_DOVECOT_ZLIB is not set
# BR2_PACKAGE_E2FSPROGS_FINDFS is not set
# BR2_PACKAGE_OPENPOWERLINK_DEBUG_LEVEL is not set
# BR2_PACKAGE_OPENPOWERLINK_KERNEL_MODULE is not set
# BR2_PACKAGE_OPENPOWERLINK_LIBPCAP is not set
# BR2_LINUX_KERNEL_SAME_AS_HEADERS is not set
# BR2_PACKAGE_CUPS_PDFTOPS is not set
# BR2_KERNEL_HEADERS_3_16 is not set
# BR2_PACKAGE_PYTHON_PYXML is not set
# BR2_ENABLE_SSP is not set
# BR2_PACKAGE_DIRECTFB_CLE266 is not set
# BR2_PACKAGE_DIRECTFB_UNICHROME is not set
# BR2_PACKAGE_LIBELEMENTARY is not set
# BR2_PACKAGE_LIBEINA is not set
# BR2_PACKAGE_LIBEET is not set
# BR2_PACKAGE_LIBEVAS is not set
# BR2_PACKAGE_LIBECORE is not set
# BR2_PACKAGE_LIBEDBUS is not set
# BR2_PACKAGE_LIBEFREET is not set
# BR2_PACKAGE_LIBEIO is not set
# BR2_PACKAGE_LIBEMBRYO is not set
# BR2_PACKAGE_LIBEDJE is not set
# BR2_PACKAGE_LIBETHUMB is not set
# BR2_PACKAGE_INFOZIP is not set
# BR2_BR2_PACKAGE_NODEJS_0_10_X is not set
# BR2_BR2_PACKAGE_NODEJS_0_12_X is not set
# BR2_BR2_PACKAGE_NODEJS_4_X is not set

#
# Legacy options removed in 2015.11
#
# BR2_PACKAGE_GST1_PLUGINS_BAD_PLUGIN_REAL is not set
# BR2_PACKAGE_MEDIA_CTL is not set
# BR2_PACKAGE_SCHIFRA is not set
# BR2_PACKAGE_ZXING is not set
# BR2_PACKAGE_BLACKBOX is not set
# BR2_KERNEL_HEADERS_3_0 is not set
# BR2_KERNEL_HEADERS_3_11 is not set
# BR2_KERNEL_HEADERS_3_13 is not set
# BR2_KERNEL_HEADERS_3_15 is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_ANDI is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_BLTLOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_CPULOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DATABUFFER is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DIOLOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DOK is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_DRIVERTEST is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_FIRE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_FLIP is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_FONTS is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_INPUT is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_JOYSTICK is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_KNUCKLES is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_LAYER is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_MATRIX_WATER is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_NEO is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_NETLOAD is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_PALETTE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_PARTICLE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_PORTER is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_STRESS is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_TEXTURE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_VIDEO_PARTICLE is not set
# BR2_PACKAGE_DIRECTFB_EXAMPLES_WINDOW is not set
# BR2_PACKAGE_KOBS_NG is not set
# BR2_PACKAGE_SAWMAN is not set
# BR2_PACKAGE_DIVINE is not set

#
# Legacy options removed in 2015.08
#
# BR2_PACKAGE_KODI_PVR_ADDONS is not set
# BR2_BINUTILS_VERSION_2_23_2 is not set
# BR2_BINUTILS_VERSION_2_24 is not set
# BR2_BINUTILS_VERSION_2_25 is not set
# BR2_PACKAGE_PERF is not set
# BR2_BINUTILS_VERSION_2_22 is not set
# BR2_PACKAGE_GPU_VIV_BIN_MX6Q is not set
# BR2_TARGET_UBOOT_NETWORK is not set

#
# Legacy options removed in 2015.05
#
# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_512_16K is not set
# BR2_TARGET_ROOTFS_JFFS2_NANDFLASH_2K_128K is not set
# BR2_PACKAGE_MONO_20 is not set
# BR2_PACKAGE_MONO_40 is not set
# BR2_PACKAGE_MONO_45 is not set
# BR2_CIVETWEB_WITH_LUA is not set
# BR2_PACKAGE_TIFF_TIFF2PDF is not set
# BR2_PACKAGE_TIFF_TIFFCP is not set
# BR2_LINUX_KERNEL_EXT_RTAI_PATCH is not set
# BR2_TARGET_GENERIC_PASSWD_DES is not set
# BR2_PACKAGE_GTK2_THEME_HICOLOR is not set
# BR2_PACKAGE_VALGRIND_PTRCHECK is not set

#
# Legacy options removed in 2015.02
#
# BR2_PACKAGE_LIBGC is not set
# BR2_PACKAGE_WDCTL is not set
# BR2_PACKAGE_UTIL_LINUX_ARCH is not set
# BR2_PACKAGE_UTIL_LINUX_DDATE is not set
# BR2_PACKAGE_RPM_BZIP2_PAYLOADS is not set
# BR2_PACKAGE_RPM_XZ_PAYLOADS is not set
# BR2_PACKAGE_M4 is not set
# BR2_PACKAGE_FLEX_BINARY is not set
# BR2_PACKAGE_BISON is not set
# BR2_PACKAGE_GOB2 is not set
# BR2_PACKAGE_DISTCC is not set
# BR2_PACKAGE_HASERL_VERSION_0_8_X is not set
# BR2_PACKAGE_STRONGSWAN_TOOLS is not set
# BR2_PACKAGE_XBMC_ADDON_XVDR is not set
# BR2_PACKAGE_XBMC_PVR_ADDONS is not set
# BR2_PACKAGE_XBMC is not set
# BR2_PACKAGE_XBMC_ALSA_LIB is not set
# BR2_PACKAGE_XBMC_AVAHI is not set
# BR2_PACKAGE_XBMC_DBUS is not set
# BR2_PACKAGE_XBMC_LIBBLURAY is not set
# BR2_PACKAGE_XBMC_GOOM is not set
# BR2_PACKAGE_XBMC_RSXS is not set
# BR2_PACKAGE_XBMC_LIBCEC is not set
# BR2_PACKAGE_XBMC_LIBMICROHTTPD is not set
# BR2_PACKAGE_XBMC_LIBNFS is not set
# BR2_PACKAGE_XBMC_RTMPDUMP is not set
# BR2_PACKAGE_XBMC_LIBSHAIRPLAY is not set
# BR2_PACKAGE_XBMC_LIBSMBCLIENT is not set
# BR2_PACKAGE_XBMC_LIBTHEORA is not set
# BR2_PACKAGE_XBMC_LIBUSB is not set
# BR2_PACKAGE_XBMC_LIBVA is not set
# BR2_PACKAGE_XBMC_WAVPACK is not set
# BR2_PREFER_STATIC_LIB is not set

#
# Legacy options removed in 2014.11
#
# BR2_x86_generic is not set
# BR2_GCC_VERSION_4_4_X is not set
# BR2_sparc_sparchfleon is not set
# BR2_sparc_sparchfleonv8 is not set
# BR2_sparc_sparcsfleon is not set
# BR2_sparc_sparcsfleonv8 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_XC5000 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_CXGB4 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_7 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160_7260_8 is not set

#
# Legacy options removed in 2014.08
#
# BR2_PACKAGE_LIBELF is not set
# BR2_KERNEL_HEADERS_3_8 is not set
# BR2_PACKAGE_GETTEXT_TOOLS is not set
# BR2_PACKAGE_PROCPS is not set
# BR2_BINUTILS_VERSION_2_20_1 is not set
# BR2_BINUTILS_VERSION_2_21 is not set
# BR2_BINUTILS_VERSION_2_23_1 is not set
# BR2_UCLIBC_VERSION_0_9_32 is not set
# BR2_GCC_VERSION_4_3_X is not set
# BR2_GCC_VERSION_4_6_X is not set
# BR2_GDB_VERSION_7_4 is not set
# BR2_GDB_VERSION_7_5 is not set
# BR2_BUSYBOX_VERSION_1_19_X is not set
# BR2_BUSYBOX_VERSION_1_20_X is not set
# BR2_BUSYBOX_VERSION_1_21_X is not set
# BR2_PACKAGE_LIBV4L_DECODE_TM6000 is not set
# BR2_PACKAGE_LIBV4L_IR_KEYTABLE is not set
# BR2_PACKAGE_LIBV4L_V4L2_COMPLIANCE is not set
# BR2_PACKAGE_LIBV4L_V4L2_CTL is not set
# BR2_PACKAGE_LIBV4L_V4L2_DBG is not set

#
# Legacy options removed in 2014.05
#
# BR2_PACKAGE_EVTEST_CAPTURE is not set
# BR2_KERNEL_HEADERS_3_6 is not set
# BR2_KERNEL_HEADERS_3_7 is not set
# BR2_PACKAGE_VALA is not set
BR2_PACKAGE_TZDATA_ZONELIST=""
# BR2_PACKAGE_LUA_INTERPRETER_EDITING_NONE is not set
# BR2_PACKAGE_LUA_INTERPRETER_READLINE is not set
# BR2_PACKAGE_LUA_INTERPRETER_LINENOISE is not set
# BR2_PACKAGE_DVB_APPS_UTILS is not set
# BR2_KERNEL_HEADERS_SNAP is not set
# BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_UDEV is not set
# BR2_PACKAGE_UDEV is not set
# BR2_PACKAGE_UDEV_RULES_GEN is not set
# BR2_PACKAGE_UDEV_ALL_EXTRAS is not set

#
# Legacy options removed in 2014.02
#
# BR2_sh2 is not set
# BR2_sh3 is not set
# BR2_sh3eb is not set
# BR2_KERNEL_HEADERS_3_1 is not set
# BR2_KERNEL_HEADERS_3_3 is not set
# BR2_KERNEL_HEADERS_3_5 is not set
# BR2_GDB_VERSION_7_2 is not set
# BR2_GDB_VERSION_7_3 is not set
# BR2_PACKAGE_CCACHE is not set
# BR2_HAVE_DOCUMENTATION is not set
# BR2_PACKAGE_AUTOMAKE is not set
# BR2_PACKAGE_AUTOCONF is not set
# BR2_PACKAGE_XSTROKE is not set
# BR2_PACKAGE_LZMA is not set
# BR2_PACKAGE_TTCP is not set
# BR2_PACKAGE_LIBNFC_LLCP is not set
# BR2_PACKAGE_MYSQL_CLIENT is not set
# BR2_PACKAGE_SQUASHFS3 is not set
# BR2_TARGET_ROOTFS_SQUASHFS3 is not set
# BR2_PACKAGE_NETKITBASE is not set
# BR2_PACKAGE_NETKITTELNET is not set
# BR2_PACKAGE_LUASQL is not set
# BR2_PACKAGE_LUACJSON is not set

#
# Legacy options removed in 2013.11
#
# BR2_PACKAGE_LVM2_DMSETUP_ONLY is not set
# BR2_PACKAGE_QT_JAVASCRIPTCORE is not set
# BR2_PACKAGE_MODULE_INIT_TOOLS is not set
BR2_TARGET_UBOOT_CUSTOM_GIT_REPO_URL=""
BR2_TARGET_UBOOT_CUSTOM_GIT_VERSION=""
BR2_LINUX_KERNEL_CUSTOM_GIT_REPO_URL=""
BR2_LINUX_KERNEL_CUSTOM_GIT_VERSION=""

#
# Legacy options removed in 2013.08
#
# BR2_ARM_OABI is not set
# BR2_PACKAGE_DOSFSTOOLS_DOSFSCK is not set
# BR2_PACKAGE_DOSFSTOOLS_DOSFSLABEL is not set
# BR2_PACKAGE_DOSFSTOOLS_MKDOSFS is not set
# BR2_ELF2FLT is not set
# BR2_VFP_FLOAT is not set
# BR2_PACKAGE_GCC_TARGET is not set
# BR2_HAVE_DEVFILES is not set

#
# Legacy options removed in 2013.05
#
# BR2_PACKAGE_LINUX_FIRMWARE_RTL_8192 is not set
# BR2_PACKAGE_LINUX_FIRMWARE_RTL_8712 is not set

#
# Legacy options removed in 2013.02
#
# BR2_sa110 is not set
# BR2_sa1100 is not set
# BR2_PACKAGE_GDISK is not set
# BR2_PACKAGE_GDISK_GDISK is not set
# BR2_PACKAGE_GDISK_SGDISK is not set
# BR2_PACKAGE_GDB_HOST is not set
# BR2_PACKAGE_DIRECTB_DITHER_RGB16 is not set
# BR2_PACKAGE_DIRECTB_TESTS is not set

#
# Legacy options removed in 2012.11
#
# BR2_PACKAGE_CUSTOMIZE is not set
# BR2_PACKAGE_XSERVER_xorg is not set
# BR2_PACKAGE_XSERVER_tinyx is not set
# BR2_PACKAGE_PTHREAD_STUBS is not set

#
# Legacy options removed in 2012.08
#
# BR2_PACKAGE_GETTEXT_STATIC is not set
# BR2_PACKAGE_LIBINTL is not set
# BR2_PACKAGE_INPUT_TOOLS_EVTEST is not set
# BR2_BFIN_FDPIC is not set
# BR2_BFIN_FLAT is not set

fuzzy-balls.c 文件修改:

    int width = 800;
    int height = 480;

编译命令行:

/disk4/buildroot-2017.08.1/output/host/bin/arm-linux-gcc -o test2 fuzzy-balls.c cairosdl.c  -lcairo -lts -lm -lSDL

相关文件打包:

cd /disk4/buildroot-2017.08.1/output/host/arm-buildroot-linux-gnueabi/sysroot
tar cvf /mnt/hgfs/E/libcairo.tar ./usr/lib/libcairo* ./usr/lib/engines/lib* ./usr/lib/libpixman-1.* ./usr/lib/libfontconfig.* ./usr/lib/libexpat.* ./usr/lib/libfreetype.* ./usr/lib/libatomic.* ./usr/lib/libSDL-1.2.so.0* ./usr/lib/libdirect* ./usr/lib/libfusion* ./usr/lib/lib++dfb*

相关文件解压:

tftp 192.168.1.99 -g -r libcairo.tar
tar xvf libcairo.tar -C /
tftp 192.168.1.99 -g -r test2
chmod +x test2
SDL_NOMOUSE=1 ./test2

离线

#4 2018-07-02 20:24:45

达克罗德
会员
注册时间: 2018-04-10
累计积分: 913

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

估计是V3S因为没有图形硬件加速吧

离线

#5 2018-07-02 21:31:30

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

达克罗德 说:

估计是V3S因为没有图形硬件加速吧

可能是吧,如果直接写 framebufer, 应该帧率会提高30fps以上, 我记得xboot那个球球demo帧率60fps以上.

离线

#6 2018-11-01 20:44:39

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

我想将动画在v3s板子上运行,在进行编译时

zhang@zhang-virtual-machine:~/cairosdl$ arm-linux-gnueabihf-gcc -o v3s fuzzy-balls.c cairosdl.c -I/usr/include/cairo -I/usr/include/SDL -lcairo -lSDL -lm
/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: 找不到 -lcairo
/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: 找不到 -lSDL
collect2: error: ld returned 1 exit status

这怎么解决?

离线

#7 2018-11-01 21:09:04

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

605364021 说:

我想将动画在v3s板子上运行,在进行编译时

zhang@zhang-virtual-machine:~/cairosdl$ arm-linux-gnueabihf-gcc -o v3s fuzzy-balls.c cairosdl.c -I/usr/include/cairo -I/usr/include/SDL -lcairo -lSDL -lm
/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: 找不到 -lcairo
/usr/lib/gcc-cross/arm-linux-gnueabihf/5/../../../../arm-linux-gnueabihf/bin/ld: 找不到 -lSDL
collect2: error: ld returned 1 exit status

这怎么解决?

先编译cario和sdl

离线

#8 2018-11-01 21:35:12

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

晕哥 说:

先编译cario和sdl

我的cario和sdl应该是编译出来了,用gcc编译器的时候可以编译gcc -o test fuzzy-balls.c cairosdl.c -I/usr/include/cairo -I/usr/include/SDL/ -lcairo -lSDL -lm
但是换成arm-linux-gnueabihf-gcc编译器的时候就不行了。上面动画我都可以在ubuntu上运行,但是换编译器后编译不出来

离线

#9 2018-11-01 21:54:58

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

605364021 说:
晕哥 说:

先编译cario和sdl

我的cario和sdl应该是编译出来了,用gcc编译器的时候可以编译gcc -o test fuzzy-balls.c cairosdl.c -I/usr/include/cairo -I/usr/include/SDL/ -lcairo -lSDL -lm
但是换成arm-linux-gnueabihf-gcc编译器的时候就不行了。上面动画我都可以在ubuntu上运行,但是换编译器后编译不出来

因为你的 ubuntu 已经有了 libcario.so* libsdl* 和 对应的头文件, 而 arm-linux-gnueabihf 确没有,需要先编译 libcario 和 libsdl2

离线

#10 2018-11-01 22:24:28

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

晕哥 说:

因为你的 ubuntu 已经有了 libcario.so* libsdl* 和 对应的头文件, 而 arm-linux-gnueabihf 确没有,需要先编译 libcario 和 libsdl2

有方式编译属于arm-linux-gnueabihf的libcario和libsdl?

离线

#11 2018-11-01 22:42:34

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

605364021 说:
晕哥 说:

因为你的 ubuntu 已经有了 libcario.so* libsdl* 和 对应的头文件, 而 arm-linux-gnueabihf 确没有,需要先编译 libcario 和 libsdl2

有方式编译属于arm-linux-gnueabihf的libcario和libsdl?

百度一下各种lib的套路,都是一样的,试一试搜索  arm linux  libjpeg

离线

#12 2018-11-02 11:25:42

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

晕哥,buildroot修改了.config文件重新make后,是需要重新移植rootfs文件到tf卡上?需要格式化再格式化tf卡?

离线

#13 2018-11-02 11:46:11

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

605364021 说:

晕哥,buildroot修改了.config文件重新make后,是需要重新移植rootfs文件到tf卡上?需要格式化再格式化tf卡?

可以,几分钟就搞定了。

离线

#14 2018-11-02 16:33:03

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

晕哥 说:
605364021 说:

晕哥,buildroot修改了.config文件重新make后,是需要重新移植rootfs文件到tf卡上?需要格式化再格式化tf卡?

可以,几分钟就搞定了。

我的荔枝派用的TF/SD启动盘,在更新buildroot后可以使用NFS文件系统来挂载这种方式更新根文件系统?还是只能通过解压rootfs文件到tf卡第二分区这种方式

离线

#15 2018-11-02 17:17:40

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

也可以试一试 dd 命令

离线

#16 2018-11-02 17:32:27

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8 我用的是dd烧录u-boot,但是我在一直修改buildroot,但是每次修改完都要将rootfs文件重新解压到tf卡上?我想用nfs挂载根文件系统可以?

离线

#17 2018-11-02 17:36:49

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

nfs 也可以的。

或者用 tftp 把新的 rootfs.tar 下载到卡, 然后解压到根目录: tar xvf rootfs.tar -C /

离线

#18 2018-11-02 17:44:11

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

晕哥 说:

nfs 也可以的。

或者用 tftp 把新的 rootfs.tar 下载到卡, 然后解压到根目录: tar xvf rootfs.tar -C /

我通过securecrt进入到buildroot目录下 直接解压rootf.tar也可以?

离线

#19 2018-11-02 17:45:59

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

605364021 说:
晕哥 说:

nfs 也可以的。

或者用 tftp 把新的 rootfs.tar 下载到卡, 然后解压到根目录: tar xvf rootfs.tar -C /

我通过securecrt进入到buildroot目录下 直接解压rootf.tar也可以?

可以,先把 rootfs.tar 用tftp命令下载到 TF卡目录,然后执行上面的命令.

离线

#20 2018-11-02 19:28:45

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

晕哥 说:

可以,先把 rootfs.tar 用tftp命令下载到 TF卡目录,然后执行上面的命令.

沉鱼 说:

#define CONFIG_BOOTARGS      "console=ttyS0,115200 panic=5 rootwait root=/dev/mmcblk0p2 earlyprintk rw  vt.global_cursor_default=0"

在根文件系统中的TF卡目录是哪个.... /dev/mmcblk0p2 吗?

离线

#21 2018-11-02 19:39:45

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

/dev 是tf卡目录?但是我tf卡上分了2个分区,第一个分区是zimage和dtb文件,第二个分区是rootfs解压缩文件,直接在tf卡目录上解压rootfs.tar文件不会产生冲突吗?

离线

#22 2018-11-02 22:31:05

晕哥
管理员
注册时间: 2017-09-06
累计积分: 9,188

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

605364021 说:

/dev 是tf卡目录?但是我tf卡上分了2个分区,第一个分区是zimage和dtb文件,第二个分区是rootfs解压缩文件,直接在tf卡目录上解压rootfs.tar文件不会产生冲突吗?

你试一试,文件比较小一般是没有问题的。

离线

#23 2018-11-04 17:10:12

605364021
会员
注册时间: 2018-10-23
累计积分: 251

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

晕哥 说:

SDL_NOMOUSE=1 ./test2

这SDL_NOMOUSE=1 是关闭SDLmouse功能?

离线

#24 2020-01-03 10:52:13

红白机
会员
注册时间: 2020-01-02
累计积分: 133

Re: 2d绘图引擎 Cairo 在 SDL@Ubuntu 运行成功

试了一下, 可以跑, 效果一样,寥寥几行代码搞定了很漂亮的界面。

离线

页脚

工信部备案:粤ICP备20025096号-1 Powered by FluxBB