第二次世界大戦に参戦し、アメリカ合衆国の歴史上最大の増加率となった軍事歳出の増大により、国内経済は恐慌から完全に回復した。名目GDPは1939年の92.2Billions of dallorsから1945年の223.0Billions of dallorsに増大し、実質GDP（2005年の通貨価値に換算）は1939年の1,071.9Billions of dallorsから1944年の2033.5Billions of dallorsに増大した。失業率は1940年の14.6％から1943年の1.9％まで減少し、労働力としては1,000万人が増えた。戦争経済は政府が資金供給を行った結果として自由市場企業の勝利ではなかった。ニューディール政策が行われていた間、失業率は高いままであり、経済成長の柱である消費、投資および貿易収支は低いままだった。ニューディール政策がアメリカの社会と経済の中で力の分布を実質的に変えたわけではなかった。国民の間の富の配分についても小さな影響を与えただけだった。
経済は1932年から1933年の冬を底として回復を始め1937年までは回復基調を続けた。学者の間ではニューディール政策が不況を長続きさせず深刻化もさせなかったことで合意している。歴史家の5％と経済学者の27％だけが世界恐慌を長引かせ深刻化させたと考えている。一方ニューディール政策は別のときならば私企業が行っていたようなプロジェクトも取り上げた可能性がある。ニューディールとルーズベルトの指導力はその2期目に、1937年不況という新しい経済的挫折を味わって攻撃された。1937年秋に急激な経済指標の低下が起こり、1938年の年間を通じて続いた。保守派はそれが大規模ストライキによる労働組合から事業家への攻撃によって生じたのであり、ニューディール政策がさらなる投資を控えさせたからだと主張した。ケインズ学派経済学者は連邦支出を減らすことで連邦予算を均衡させようとしたルーズベルトの早すぎる施策の結果だと主張した。ルーズベルト政権は大企業の独占権力を悪役に仕立て上げて言葉による運動を始めることで応じた。合衆国最高裁判所はニューディール政策の多くが違憲だと裁定することでこれを牽制し始めたが、ルーズベルトはその悪名高い「コート・パッキン」で判事達をより同調的な者に交代させた。これにも拘わらず、ニューディール政策は次第に縮小され、1939年までにその注意は外交政策に向けられるようになった。1937年不況に対するルーズベルト政権の別の反応はより分かりやすい結果になった。ルーズベルトはその内閣の財務省を無視して不況に対する対抗手段を打ち出し、連邦予算を均衡させるという考えは棄てず、1938年春には50億ドルを使って大衆購買力を上げ、デフレを攻撃する施策を始めた。ルーズベルトは「炉辺談話」の中でその計画を説明し、「国民の購買力を上げること」で「経済を上向かせること」が政府の責任であると認めた。
pkg-configは、環境変数PKG_CONFIG_PATHのパスに存在する *.pc ファイルに記録された情報を元に、ビルドの際に必要な文字列を返す。例えば、libaaa.soを /usr/local/lib/aaa/ 以下に保存し、ヘッダファイルを /usr/local/include/aaa/ 以下にインストールした場合。 libaaa.so を利用したソースをコンパイルする際に、コンパイラへlibとincludeのパス等を指定する必要があるが、そのパスが環境ごとに異なる場合を考えると必ずしも gcc -I/usr/local/lib/include -o a.c -L/usr/local/lib/aaa -laaa が成立するとは限らない。もしもlibaaa が aaa.pc を提供していれば、pkg-config aaa --cflagsで文字列 -I /usr/local/lib/aaa を得られ、pkg-config aaa --libsで文字列 -L /usr/local/lib/aaa -laaa を得られるかもしれない。もしもlibaaaがpkg-configに対応していれば（インストール時に適切な aaa.pc が作成されるライブラリーであれば）、そのlibaaa利用の際には pkg-config を用いることができるので、記述に統一性を持たせられる。gcc `pkg-config aaa --cflags --libs` a.c*.pcは普通は/usr/lib/pkgconfig/以下に作成され、pkg-config が読みにいくデフォルトのパスもここだが、/usr/share/pkgconfigの場合もあるかもしれない。 --prefix=/usr/localとしてライブラリーをビルドした場合は /usr/local/lib/pkgconfig かもしれない。*.pcのパスを独自に指定したい場合は環境変数PKG_CONFIG_PATHに指定する。export PKG_CONFIG_PATH=/usr/lib/aaa/pkgconfig など。*.pcの記述方法は、単純にフラグに応じて出力する文字列が列挙されているだけである。 たとえばglibの.pcファイルである glib-2.0.pc の場合は、prefix=/usrexec_prefix=${prefix}libdir=${exec_prefix}/libincludedir=${prefix}/includeglib_genmarshal=glib-genmarshalgobject_query=gobject-queryglib_mkenums=glib-mkenumsName: GLibDescription: C Utility LibraryVersion: 2.30.2Libs: -L${libdir} -lglib-2.0 Libs.private:  -lrtCflags: -I${includedir}/glib-2.0 -I${libdir}/glib-2.0/include もしも pkg-config を使わずに、直接コンパイルフラグを指定するとしたら glib_test.c#include <glib.h>main() {        g_printf("hello");}gcc -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -L/us/glib-2.0 -lglib-2.0 glib_test.c と、glibを利用するためのパスやフラグの記述が煩わしい。しかもこのパスはユーザーごとに異なる可能性もあるので、glib利用者がMakefile等に決め打ちしてもうまくいかない場合も考えられる。一方、pkg-config を使えばgcc $(pkg-config --cflags --libs glib-2.0) glib_test.cと、シンプルかつ抽象的に記述できる。